2017-08-08 75 views
0

在我的MVC應用程序中,我有信息上傳表單。這裏用戶可以上傳視頻和圖像。爲此我創建了文件控件,一個用於視頻,另一個用於圖像。這裏用戶應該只能上傳最多2個視頻和最多5個圖像的單一形式。任何人都可以建議我如何限制用戶上傳文件數量。即如果只有2個視頻和5個圖像,我應該在哪裏實現這個最佳使用?在controller或使用javascript限制在mvc上傳文件的數量

+2

'哪裏?' - 都。限制它在瀏覽器中(通過JavaScript)以便於使用,限制在後端以及服務器端驗證。 '怎麼?' - 太廣泛了,做一些研究並寫一些代碼。如果您遇到問題,請在發帖之前閱讀[問],然後加入[mcve]。 – Igor

+0

爲該表單生成唯一標識並在該存儲介質中添加該唯一標識和用戶標識的組合以跟蹤活動,如從控制器上傳活動 –

回答

0

我試着使用javascript

文件上傳控制:

<input type="file" id="t" name="t" onchange="checkFilesCount(this)" multiple> 

javascript代碼:

function checkFilesCount(id) { 
    if(id.files.length > 5) 
    {  
     alert('you cant upload files more than 5'); 
     document.getElementById("t").value = ""; 
    } 
} 
0

的MVC文件上傳方式:

<input type="file" name="file" id="file" /> 

這傳遞一個HttpPostedFileBase控制器,或者如果你有多個IEnumerable<HttpPostedFileBase>。然後您可以評估文件和文件類型的數量,並將任何功能/消息返回給用戶。

[HttpPost] 
public ActionResult Index(HttpPostedFileBase file) {... 

或者

<input type="file" name="files" id="file" /> 
<input type="file" name="files" id="file" /> 

[HttpPost] 
public ActionResult Index(IEnumerable<HttpPostedFileBase> files) {... 
+0

它可以實現,但使用JavaScript如果我想要做,那我該怎麼做?就像它應該直接顯示彈出窗口,當用戶從上傳窗口中選擇5個以上的文件並點擊「確定」按鈕。 :( – Arc