页面有几个HTML的file控件.后台设置了 Page.Form.Enctype = "multipart/form-data" 后,
用Request.Form获取不到file的值了,在设置之前还是可以的。问:设置Enctype后怎么获取HTML的file控件内附件的文件名?

解决方案 »

  1.   

    如果表单使用了enctype="multipart/form-data"   就不能再使用Request.From来读取表单值了,表单内的数据都以二进制流提交,所以只能使用Request.BinaryRead来读取上传数据的二进流,那你就得去分析二进流把你所需要的数据分解出来,并转化成文本字符。
      

  2.   

    不是用Request.Form[""]获取文件,而是用Request.Files[""]获取文件。
    示例:
    <form id="form1" runat="server" enctype="multipart/form-data">
    <div id="div1" runat="server">
    <input type="file" name="file" />
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    </div>
    </form>
    protected void Button1_Click(object sender, EventArgs e)
    {
    Request.Files["file"].SaveAs(Server.MapPath("~/") + Path.GetFileName(Request.Files["file"].FileName));
    }