3

を使用して複数のファイルをアップロードしようとしています

<input id="testUpload" type="file" multiple="true"/>

(はい、IE では動作しないことはわかっています)。しかし、私の質問は、各ファイルを繰り返し処理してアップロードするコードでその後何をすべきかということです。

私はしようとしています

foreach(HttpPostedFile file in Request.Files["testUpload"]){

}

しかし、私は得る

foreach statement cannot operate on variables of type 'System.Web.HttpPostedFile' because 'System.Web.HttpPostedFile' does not contain a public definition for 'GetEnumerator'

私は私ができることを知っていますmultiple = "false"

HttpPostedFile file = Request.Files["testUpload"];

そして、そのファイルに対して操作を行います。しかし、複数のファイルを選択している場合はどうなりますか? を使用してそれぞれを反復する方法はforeach

4

2 に答える 2

13

コレクションではなく、1 つのファイルを反復処理しようとしています。

変化する

foreach(HttpPostedFile file in Request.Files["testUpload"]){

}

編集- コメントに従って for ループに変更

for (int i = 0; i < Request.Files.Count; i++)
{
    HttpPostedFileBase file = Request.Files[i];
    if(file .ContentLength >0){
    //saving code here

  }
于 2013-01-15T23:06:59.770 に答える
0

ありがとう、ありがとう、ありがとう。それは私の日を救った。

ただし、HttpPostedFileBase の代わりに HttpPostedFile を使用する必要がありました。

for (int i = 0; i < Request.Files.Count; i++)
{
    **HttpPostedFile** file = Request.Files[i];
    if(file .ContentLength >0){
    //saving code here
    }
}

いずれにせよ、これは素晴らしい

于 2015-03-24T02:04:31.410 に答える