2

我有一个带有 1 个输入 type="file" 元素的表单。我希望当没有选择文件时,HttpFileCollection 集合后面的代码中的代码将为空。

然而,计数似乎总是大于零。

如以下代码所示:

Dim files As HttpFileCollection = Request.Files

        If files.Count > 0 Then
           'At least one file has been uploaded
        End if

我是否遇到了一般的怪癖,或者这是预期的行为?

提前致谢。

4

1 回答 1

-1

在您的 .aspx 页面中:-

     <form id="form1" runat="server" enctype="multipart/form-data">
     <input type="file" id="myFile" name="myFile" />
     <asp:Button runat="server" ID="btnUpload" OnClick="btnUploadClick" Text="Upload" />
     </form>

在您的代码隐藏文件中

        protected void btnUploadClick(object sender, EventArgs e)
        {
            HttpPostedFile file = Request.Files["myFile"];

            //check file was submitted
            if (file != null && file.ContentLength > 0)
               {
                   string fname = Path.GetFileName(file.FileName);
                   file.SaveAs(Server.MapPath(Path.Combine("~/App_Data/", fname)));
                }
         }
于 2012-07-17T12:01:18.737 回答