【问题标题】:How Update multiple images Aps.Net Framework 4.0 C#?如何更新多个图像 Aps.Net Framework 4.0 C#?
【发布时间】:2015-02-10 15:22:35
【问题描述】:

我有这个代码,但与 4.0 不兼容,谢谢

.aspx

<div>
    <asp:FileUpload runat="server" ID="UploadImages" Multiple="true" />
    <asp:Button runat="server" ID="uploadedFile" Text="Upload" OnClick="uploadFile_Click" />
    <asp:Label ID="listofuploadedfiles" runat="server" />
</div>

.cs

protected void uploadFile_Click(object sender, EventArgs e)
    {
        if (UploadImages.HasFiles)
        {
            foreach (HttpPostedFile uploadedFile in UploadImages.PostedFiles)
            {
                uploadedFile.SaveAs(System.IO.Path.Combine(Server.MapPath("~/Images/"),
                uploadedFile.FileName)); listofuploadedfiles.Text += String.Format("{0}<br />", uploadedFile.FileName);
           } 
        }
    } 

我有这个错误:

错误 1“System.Web.UI.WebControls.FileUpload”不包含“HasFiles”的定义,并且没有扩展方法“HasFiles”接受“System.Web.UI.WebControls.FileUpload”类型的第一个参数被发现(您是否缺少 using 指令或程序集引用?)

错误 2“System.Web.UI.WebControls.FileUpload”不包含“PostedFiles”的定义,并且没有接受“System.Web.UI.WebControls.FileUpload”类型的第一个参数的扩展方法“PostedFiles”可以被发现(您是否缺少 using 指令或程序集引用?)

【问题讨论】:

  • 此功能(用于服务器端 WebControls)是 4.5 的新功能。
  • 它只适用于 4.5。多文件上传是 HTML 的全新功能。 .Net 4.0 无法发出处理它们所需的 HTML。在 4.5 中,上传控件能够发出 HTML 5 版本的文件上传,它允许多个文件流以及处理多个文件流。如果您无法升级到 4.5,则需要寻找可以在 4.0 中使用的第三方上传控件。

标签: c# asp.net image upload


【解决方案1】:

对于 .NET 4.0,我在不更改项目版本的情况下找到了此解决方案:

 var type  = files.GetType();
 var prop  = type.GetProperty("PostedFiles");
 var files = prop?.GetValue(this.files, null) as ICollection<HttpPostedFile>;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 2019-03-24
    • 2019-04-12
    相关资源
    最近更新 更多