我已经设置了一个 asp.net 多文件上传,它可以工作,但不是我期望的方式。
在我的页面上,我有 2 个这样的图片上传者
<input type="file" id="gallery" class="multi" accept="jpg" runat="server" />
<input type="file" id="pic1" accept="jpg" runat="server" />
我的问题是当我上传它时使用此代码
Dim hfc As HttpFileCollection = Request.Files
获取已发布的所有文件,但我只想要此特定方法的gallery
图像。
我有不同的方法来上传我的其他图像。
我尝试将其更改为以下内容
Dim hfc As HttpFileCollection = Request.Files("gallery")
但是我收到一个错误
类型为"System.Web.HttpPostedFile"的值不能转换为"System.Web.HttpFileCollection"。
有什么想法吗?
谢谢
编辑
这是我正在使用的完整代码
Dim hfc As HttpFileCollection = Request.Files("gallery")
For i As Integer = 0 To hfc.Count - 1
Dim hpf As HttpPostedFile = hfc(i)
If hpf.ContentLength > 0 Then
hpf.SaveAs(Server.MapPath("/images/" & i & ".jpg"))
End If
Next i
当我使用下面答案中的代码时,我收到一个错误,说
"Count"不是"System.Web.HttpPostedFile"的成员。
编辑 2
这适用于上传我的所有图像
Dim hfc As HttpFileCollection = Request.Files
For i As Integer = 0 To hfc.Count - 1
Dim hpf As HttpPostedFile = hfc(i)
If hpf.ContentLength > 0 Then
hpf.SaveAs(Server.MapPath("/images/" & i & ".jpg"))
End If
Next i
但它上传每张图片 - 我只希望它上传从
<input type="file" id="gallery" class="multi" accept="jpg" runat="server" />
也不是这个
<input type="file" id="pic1" accept="jpg" runat="server" />
Request.Files("gallery")
无效,因为它是一个属性而不是一个方法。
您可以通过请求 PostedFile 值从库输入中获取已发布文件,然后像您一直在做的那样保存到文件系统。
Dim hfc As System.Web.HttpPostedFile = gallery.PostedFile
If hpf.ContentLength > 0 Then
hpf.SaveAs(Server.MapPath("/images/GalleryImage.jpg"))
End If
您显然可以将文件名设置为您想要的任何名称。