我已经设置了一个asp.net多文件上传,它可以工作,但不是我想象的那样。
在我的页面上,我有两个像这样的图像上传者
<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" />
答案 0 :(得分:0)
Request.Files("gallery")
无效,因为它的属性不是方法。
您可以通过请求PostedFile值从Gallery输入中获取已发布文件,然后像以前一样保存到文件系统。
Dim hfc As System.Web.HttpPostedFile = gallery.PostedFile
If hpf.ContentLength > 0 Then
hpf.SaveAs(Server.MapPath("/images/GalleryImage.jpg"))
End If
显然,您可以根据需要创建文件名。