1

画像用とビデオ用の 2 つのアップロード ファイル オプションを提供する必要があるアプリケーションを開発しています。このコードを参照してください。

foreach (string file in Request.Files)
{
   HttpPostedFile hpf = Request.Files[file] as HttpPostedFile;
   if (hpf.ContentLength == 0)
      continue;
   string savedFileName = Path.Combine(
      AppDomain.CurrentDomain.BaseDirectory, 
      Path.GetFileName(hpf.FileName));
   hpf.SaveAs(savedFileName);
}

そしてビューで

<input type="file" id="fileUpload1" name="fileUpload1" size="23" class="image" /> 
<input type="file" id="fileUpload2" name="fileUpload2" size="23" class="video" /> 

ファイルがアップロードされると問題なく動作しますが、問題は、どのファイルがどの入力タイプからのものかを判断して、画像とビデオを区別する方法です。これは、それらに個別の一意の名前を割り当ててデータベースに保存する必要があるためです。

4

2 に答える 2

2

おそらくより良い方法は、ファイルをキーで識別することです。

Request.Files["fileUpload1"]画像を返す必要があります

Request.Files["fileUpload2"]ビデオを返す必要があります

参考までに、Request.Files.AllKeysアップロードされたすべてのファイルのすべてのキーがあり、<input type="file"...要素に付けた名前と一致する必要があります。

于 2012-11-13T16:48:12.257 に答える
2

HttpPostedFileBaseのコンテンツ タイプを使用して画像を識別できます。

if (file.ContentType.Contains("image"))
{
    var isImage = true;
}

並べ替えた画像が 1 つだけの場合は、ビデオ コンテンツ タイプを確認して検証することもできます。2 つの画像がある場合は、おそらく別のことを考える必要があります。

于 2012-11-13T16:20:28.283 に答える