2012-11-13 180 views
1

IM開發應用程序,其中i需要提供兩個上載文件的選項一個用於圖像和一個用於視頻,我有這個代碼Ref多輸入字段

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" /> 

正常工作的文件獲取上傳的,但問題是我怎麼能確定哪個文件來自哪個輸入類型,這樣的圖像和視頻之間的區別,因爲我必須然後分配到單獨的唯一名稱他們並保存到數據庫。

回答

2

你可以使用的HttpPostedFileBase

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

內容類型識別圖像如果你只是有你的排序一個形象,你也可以檢查您的視頻內容類型進行驗證。如果你有兩張圖片,我們可能不得不考慮其他的東西。

+0

都能跟得上我只有一個圖像和一個視頻,該解決方案看起來很好... TNX –

2

一個可能更好的方式是通過按鍵來識別文件。

Request.Files["fileUpload1"]應該返回圖像

Request.Files["fileUpload2"]應該返回視頻

,僅供參考,Request.Files.AllKeys擁有所有所有上傳的文件,他們應該匹配你給什麼名字的鑰匙<input type="file"...元素。