解决方案 »

  1.   

    告诉你一下思路,代码我就不写了,人懒:)
    一、用Request.Files获取文件(先判断Request.Files.Count是否大于0,以确定存在上传文件)
    二、创建HttpPostedFile用来访问上传文件(例如HttpPostedFile file = Request.Files[0])
    三、通过HttpPostedFile的SaveAs方法将文件保存到服务器
    四、完毕:)
      

  2.   


      myljg:
             files.Count 为零阿    看一下代码    private Boolean SaveImages() //string imagePath
        {
            ///'遍历File表单元素
            HttpFileCollection files = HttpContext.Current.Request.Files;        ///// '状态信息
            //System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
           // strMsg.Append("上传的文件分别是:<hr color=red>");
            //try
            //{
                for (int iFile = 0; iFile < files.Count; iFile++)
                {
                //    ///'检查文件扩展名字
                    HttpPostedFile postedFile = files[iFile];
                    //HttpPostedFile postedFile = files[0];
                    string fileName;   //, fileExtension
                    fileName = System.IO.Path.GetFileName(postedFile.FileName);
                //    if (fileName != "")
                //    {
                //        fileExtension = System.IO.Path.GetExtension(fileName);
                //        strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
                //        strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
                //        strMsg.Append("上传文件的文件名:" + fileName + "<br>");
                //        strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
                //        ///'可根据扩展名字的不同保存到不同的文件夹
                //        ///注意:可能要修改你的文件夹的匿名写入权限。
                        postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("cm/") + fileName);
                    //}
                }
                //strStatus.Text = strMsg.ToString();
                return true;
            //}
            //catch (System.Exception Ex)
            //{
            //   // strStatus.Text = Ex.Message;
            //    return false;
            //}
        }
      

  3.   

    web services上传文件
    <form method="post" enctype="multipart/form-data" action="upload.aspx">
    <input name="MyUpFile" type="file" id="MyUpFile">
    <input type="submit" name="Submit" value="提交">
    </form>
    if (Request.Files.Count != 0){     HttpPostedFile MyUpFile = Request.Files["MyUpFile"];     MyUpFile.SaveAs(Server.MapPath("") + MyUpFile.FileName.Remove(0, MyUpFile.FileName.LastIndexOf("\\"))); }
    参考
      

  4.   


        html 同过 以下代码连接 aspx页function VisitDb2(number,str,ynSynchronization,ynAlert)

     try
     {
            xmlHttp = GetXmlHttpObject();
            
            if (xmlHttp == null)
            {
                alert ("您的浏览器不支持AJAX!");
                return;
            } 
            
            var url = "DbInfo.ashx";
            url = url + "?a="+ number;
            url = url + "&b="+ str;
            url = url + "&sid=" + Math.random();            
            xmlHttp.onreadystatechange = stateChanged;
                
                 
                xmlHttp.open("GET",url,ynSynchronization);
                xmlHttp.send(null);
     
        }
        catch(e)
        {
            alert( e + " " + e.description)
        }  
    }
      

  5.   

    唉,真是没有办法.自己多试试嘛public bool UploadFile(HttpContext context)
    {
        bool rInfo = true;  //定义一个用于返回的bool的变量,如果成功返回真,否则返回假
        int iTotal = context.Request.Files.Count;   //定义一个int变量,用来保存获取的文件数目
        if (iTotal == 0)    //判断是否存在上传的文件
            rInfo = false;
        else
        {
            try{
                for (int i = 0; i < iTotal; i++) //循环处理所有上传文件
                {
                    HttpPostedFile file = context.Request.Files[i]; //定义HttpPostedFile对象,以获取文件并处理
                    if (file.ContentLength > 0 || !string.IsNullOrEmpty(file.FileName))//判断文件是否合法,如果合法则处理
                         file.SaveAs(System.Web.HttpContext.Current.Server.MapPath("/" + Path.GetFileName(file.FileName)));  //如果合法就调用SaveAs方法保存文件
                    else
                      rInfo = false;
                }
            }
            catch
            {
                rInfo = false;
            }
        }
        return rInfo;  //返回一个成功或失败状态(bool类型)
    }
    以上代码未经测试!自己试试能不能用吧!
      

  6.   

       files.Count 为零阿    如果让 HttpContext context 包含这个文件呢?   
          
      

  7.   


    <input type=file>这种上传,必须做一个form,再加一个sumbit按钮,让用户手动选择文件后,点击提交按钮,在后台才能通过Request.Files取到上传的文件流.你想让程序在后台自动选择客户端的一个文件并上传是不可能的,也是不允许的.要不然你的网站可以随便读取用户硬盘上文件,这还了得?
      

  8.   

      
      newdigitime:      我想把图片路径存到数据库里,同时,还有其它文本信息存到数据库,而图片上传的指定文件夹下。       能同时提交文本和上传图片吗?
          
       
      

  9.   


    public static string UploadFile(HtmlInputFile filePath, System.Web.UI.WebControls.TextBox fileName)
            {
                string FilePath = null;
                string File_Name = null;
                Random rd = new Random();
                string NewName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Minute.ToString() + rd.Next(100, 1000).ToString();
                if (fileName.Text == "")
                    return "";
                NewName = fileName.Text;
                string fileExtname = filePath.PostedFile.FileName.Substring(filePath.PostedFile.FileName.LastIndexOf(".") + 1);
                File_Name = NewName + "." + fileExtname;            FilePath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath + "/UpLoad/");
                filePath.PostedFile.SaveAs(FilePath + File_Name);
                FilePath = "../UpLoad/";
                return FilePath + File_Name;
            }