0

这个元素,

<asp:FileUpload ID="FileUploadEventosCasal" runat="server" />

可以按时间上传一个文件(按钮单击)。

我想知道如何一键上传多个文件(排队)。我不能使用 .net 4.5。我想要这样的例子:http ://www.aspdotnet-suresh.com/2012/12/aspnet-upload-multiple-files-using.html为了使它工作,我做了这些改变:

<script src="js/jquery-1.8.2.js"></script>
<script>$(function () {/* jquery.MultiFile.js code pasted here */});</script>

<asp:FileUpload ID="FileUploadEventosCasal" CssClass:"multi" runat="server" />

但这种变化只是为了运行。当我尝试上传时,它不起作用。这是按钮事件:

protected void ButtonInsMultipleUpload_Click(object sender, EventArgs e)
{
    HttpFileCollection fileCollection = Request.Files;
    List<byte[]> imgs = new List<byte[]>();
    for (int i = 0; i < fileCollection.Count; i++)
    {
        HttpPostedFile uploadfile = fileCollection[i];
        imgs.Add(new byte[uploadfile.InputStream.Length]);
        uploadfile.InputStream.Read(imgs[i], 0, imgs[i].Length);
    }
}
4

3 回答 3

1

从我的头顶上掉下来?我会研究类似plupload的东西。

您可以选择多个文件,它支持分块...是的,您可能需要做的不仅仅是在页面上放置一个控件,但您将拥有更多的控制权和更流畅的体验。

检查示例

于 2013-03-15T16:45:13.573 回答
1

在 ASP.NET 4.5 FileUpload 控件支持上传多个文件:

<asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="true" />
于 2013-03-15T16:49:07.317 回答
1

我发现了我的错误。在按钮单击方法中,我进行了以下更改:

HttpFileCollection fileCollection = Request.Files;
List<byte[]> imgs = new List<byte[]>();
for (int i = 0; i < fileCollection.Count; i++)
{
    HttpPostedFile uploadfile = fileCollection[i];
    byte[] imageBytes = new byte[uploadfile.InputStream.Length];
    uploadfile.InputStream.Read(imageBytes, 0, imageBytes.Length);
    if(imageBytes.Length > 0)
       imgs.Add(imageBytes);
}

谢谢帮忙!!

于 2013-03-15T17:24:59.547 回答