问题是这样的,我不用.net中自带的上传控件而用html的input type="file" 如代码
<form id="htmlForm" action="Default.aspx" method="post"> 
    上传图片:<input type="file" name="filename" /> 
    <input type="submit" value="开始上传" /> 
</form>
.net C# 代码是:
 protected void Page_Load(object sender, EventArgs e)
    {
        HttpPostedFile file = Request.Files["filename"];
        string filename = file.FileName;
        Response.Write("<div style='background-color:#ffa; padding:20px'>"  + "你上传的图片名为:"+ filename+  "</div>");
    }
但这样写老是报错,好像file对象没有初值。不知道那位高手帮小弟一把

解决方案 »

  1.   

     if(fileImageLoad.PostedFile!=null)
                {
                    //执行图片上传操作
                    int fileSize = fileImageLoad.PostedFile.ContentLength;  //获取上载文件的大小
                    byte[] arrFile = new byte[fileSize];   //把文件大小转换成二进制数组 
                    if(fileSize>0)
                    {
                        string[] getfileType = fileImageLoad.FileName.Split('.');   //对上传图片进行截取
                        string imageName = getfileType[0].ToString();    //得到文件名
                        string suffix=getfileType[1].ToString();        //得到图片后缀部分                    Stream streamReader = fileImageLoad.PostedFile.InputStream;    //读取上载文件的内容
                        streamReader.Read(arrFile,0,fileSize);                    //指定要上传到的文件路径
                        string imagePath = @"E:/images/Users/" + txtUserId.Value.Trim() + "." + suffix;
                        try
                        {
                            fileImageLoad.PostedFile.SaveAs(imagePath);
                        }
                        catch (Exception err)
                        {
                            Response.Write("<script>alert('该照片名已存在!');</script>");
                            
                        }
                    }
      

  2.   

    您理解错了,我只是想获得文件名,而且不是用服务器控件。用ID是得不到的。您说的fileImageLoad.是ID这个我知道我也会用。只是想用静态页获得表单中的file
      

  3.   

    asp.net 什么获得html中的file表单。<input type="file" name="name"/>不是用服务器控件,而是html控件,不能用ID获取 的我用HttpPostedFile file = Request.Files["filename"];获得也不行,有没有高手帮我一把
      

  4.   

    <form action="upload.aspx" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" name="upload"  value="submit" />
    </form>
    </body>HttpFileCollection files = Request.Files;
    HttpPostedFile postedFile = files["file"];
      

  5.   

    人生如梦您的方法,可能我没理解做了还是不行报错:
    /UpImg”应用程序中的服务器错误。
    未将对象引用设置到对象的实例。
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:行 18:         HttpFileCollection files = Request.Files;
    行 19:         HttpPostedFile postedFile = files["filename"];
    行 20:         string lin =postedFile.FileName;
    行 21:         
    行 22:         Response.Write("<div style='background-color:#ffa; padding:20px'>"  + lin +  "</div>");
      

  6.   

    <form enctype="multipart/form-data" ...必须的~