【发布时间】:2019-02-28 18:25:15
【问题描述】:
如何使用 asp.net 网络表单中的单个文件上传控件上传多个图像?
我可以使用文件上传控件上传单个图像文件,但我希望使用一个控件上传多个图像更加动态。
谁能帮我解决这个问题?
谢谢。
【问题讨论】:
-
请展示您尝试过的...任何代码或任何东西...
如何使用 asp.net 网络表单中的单个文件上传控件上传多个图像?
我可以使用文件上传控件上传单个图像文件,但我希望使用一个控件上传多个图像更加动态。
谁能帮我解决这个问题?
谢谢。
【问题讨论】:
你需要使用 AllowMultiple 属性,像这样
<asp:FileUpload id="controlID" runat="server" AllowMultiple="true"/>
【讨论】:
AllowMultiple="true"发布的文件可以在使用controlID.PostedFiles后面的代码中访问。
你不能。严格来说,每个控件只有一个文件。
要使用一个提交按钮上传多个文件,您需要使用 Javascript 动态添加更多 FileControl,如下所示(使用 jQuery):
$(document).ready(function () {
$("#addAnotherFile").click(function () {
$("input[type='file']").after('<br /><input type="file" name="file" />');
}
});
在提交按钮处理程序中,您可以枚举 Request.Files 集合以访问您的上传:
for (int i = 0; i < Request.Files.Count; i++)
{
HttpPostedFile file = Request.Files[i];
if (file.ContentLength > 0)
{
file.SaveAs(Path.Join("Uploaded/Files/Path",Path.GetFileName(file.FileName)));
}
}
【讨论】: