Asp.Net 多个文件上传



我已经设置了一个 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

您显然可以将文件名设置为您想要的任何名称。

相关内容

  • 没有找到相关文章

最新更新