1

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

以下の答えのコードを使用すると、次のようなエラーが発生します

「カウント」は「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" />
4

1 に答える 1

0

Request.Files("gallery")メソッドではなくプロパティであるため無効です。

PostedFile 値を要求することにより、Gallery 入力から Posted ファイルを取得し、これまで行ってきたようにファイル システムに保存できます。

Dim hfc As System.Web.HttpPostedFile = gallery.PostedFile
If hpf.ContentLength > 0 Then
   hpf.SaveAs(Server.MapPath("/images/GalleryImage.jpg"))
End If

もちろん、ファイル名は自由に変更できます。

于 2012-06-02T18:06:51.037 に答える