上载多个文件aspx.net C#

上载多个文件aspx.net C#,c#,asp.net,file-upload,image-uploading,multifile-uploader,C#,Asp.net,File Upload,Image Uploading,Multifile Uploader,我有以下HTML源代码: <form name="AddTrack" id="add_track_form" action="AddTrack.aspx" method="post" runat="server"> <input type="file" name="file1"/><br /> <input type="file" style="margin-right: 52px;" name="file2"

我有以下HTML源代码:

 <form name="AddTrack" id="add_track_form" action="AddTrack.aspx" method="post" runat="server">


       <input type="file" name="file1"/><br />
            <input type="file" style="margin-right: 52px;" name="file2" /><br />
            <input type="file" style="margin-right: 52px;" name="file3" /><br />
            <input type="file" style="margin-right: 52px;" name="file4" /><br />
        <button type="submit" class="blue-button">הוסף מסלול</button>
    </form>





הוסף מסלול
使用此ASPX-C#代码:

if(Request.ContentLength!=0)
{
int Size=Request.Files[0].ContentLength/1024;

如果(大小我建议你使用这个
上传库
,它是免费的

因为基本上传文件asp.net不提供多次下载的可能性


链接:

据我所知,您只需将
enctype=“multipart/form data”
添加到表单中:

 <form name="AddTrack" id="add_track_form" action="AddTrack.aspx" method="post" runat="server" enctype="multipart/form-data">

你说它不工作是什么意思?定义“不工作”。实际的运行时行为是什么?是否有任何错误消息?
Request.Files
?当你使用浏览器工具(Firebug等)检查表单帖子时实际发布到服务器的是什么?我收到了以下错误消息:System.ArgumentOutOfRangeException是System.Collections.Specialized.NameObjectCollectionBase.BaseGet(Int32索引)你是在哪一行收到这个错误的?这是上传文件的完整代码吗?谢谢,所以没有一个简单的解决方案?导致这个错误的原因是?这只是一个客户端库。它与服务器端没有任何共同之处,在服务器端错误会增加。使用Uploadify之类的开发组件很容易,而且可以重复使用谢谢。现在有了错误,但是如何上载多个文件?可能是for循环?请参阅更新的答案。类似的内容应该可以使用。只需将所有内容放入foreach循环中,并将所有
Request.Files[0]
替换为
f
(或者如何调用该变量)非常感谢,但现在我遇到了这个错误:无法隐式地将类型“System.Web.HttpPostedFile”转换为“System.Web.HttpPostedFileBase”,这一行是:foreach(请求.Files中的HttpPostedFile f)为什么?嗯,奇怪。但是请检查更新的答案。这是另一种方法。另外,您可以简单地尝试更改
foreach(Request.Files中的HttpPostedFile f){
foreach(Request.Files中的HttpPostedFileBase f){
但是等等,foreach语句中真的有HttpPostedFile吗?可能有HttpPostedFileBase?Request.Files包含HttpPostedFiles对象,我的代码中不应该出现这个错误。
 <form name="AddTrack" id="add_track_form" action="AddTrack.aspx" method="post" runat="server" enctype="multipart/form-data">
for(int i = 0; i < Request.Files.Count; i++) {

    int Size = Request.Files[i].ContentLength / 1024;
    if (Size <= 512)
    {
       string LocalFile = Request.Files[i].FileName;
    //.....
}