我在ASP.NET中使用FileUpload控件并与其上载多个文件,但是问题是它上载了具有相同内容的多个文件,即如果我上载了4个图像image1.pngimage2.pngimage3.jpgimage4.gif,则每个图片中都包含相同的图片/数据。为什么?

.aspx代码:

<asp:FileUpload ID="FileUploadMaps" AllowMultiple="true" runat="server" />
<asp:HiddenField ID="hdnFieldMapPath" runat="server" />


.cs代码:

if (FileUploadMaps.HasFiles)
{
    foreach (HttpPostedFile uploadedfile in FileUploadMaps.PostedFiles)
    {
        string fileName = Path.GetFileName(uploadedfile.FileName);
        FileUploadMaps.SaveAs(Server.MapPath("~/SiteImages/") + fileName);

        mngUploadedMaterialMaps.InsertUploadedMaterialMaps(fileName, "", PropertyDetailsID);
    }
}

最佳答案

如果将FileUpload与多个文件一起使用,则应使用HttpPostedFile.SaveAs方法,而不是控件侧的方法,如下所示:

if (FileUploadMaps.HasFiles)
{
    foreach (HttpPostedFile uploadedfile in FileUploadMaps.PostedFiles)
    {
        var fileName = Path.GetFileName(uploadedfile.FileName);
        uploadedfile.SaveAs(Server.MapPath("~/SiteImages/") + fileName);
        mngUploadedMaterialMaps.InsertUploadedMaterialMaps(fileName, "", PropertyDetailsID);
    }
}

关于c# - 为什么fileupload控件不上传包含相同数据的多个文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35437931/

10-13 01:35