2017-08-08 34 views
0

MVCアプリケーションでは、私は情報アップロードフォームを持っています。ここでユーザーはビデオや画像をアップロードできます。これを行うために、私はファイルコントロール、ビデオ用と画像用のファイルを作成しました。ここでは、最大2つの動画と1つの形式の最大5つの画像でのみアップロードすることができます。どのように私はどのように私はファイルの数をアップロードするユーザーを制限することができます示唆することができます。つまり、2つの動画と5つの画像しかない場合は、どこでこの機能を最大限に活用する必要がありますか? controllerまたはjavascriptmvcにアップロードするファイル数の制限

+2

'どこ? ' - 両方。使いやすさを考慮してブラウザで(JavaScriptを使用して)制限し、バックエンドとサーバー側での検証を制限します。 「どのように?」 - 広すぎる、研究をしたり、コードを書く。立ち往生した場合は質問をしてください。投稿する前に[ask]を読んで[mcve]を含めてください。 – Igor

+0

そのフォームの一意のIDを生成し、そのユニークIDとユーザーIDの組み合わせを任意の記憶媒体に追加して、アクティビティをアップロードするようなアクティビティをコントローラ –

答えて

0

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

これは、コントローラにしたり、複数のIEnumerable<HttpPostedFileBase>を持っている場合はHttpPostedFileBaseを渡します。その後、ファイルとファイルタイプの数を評価し、機能/メッセージをユーザーに返します。私はjavascriptの

ファイルアップロードコントロールを使用してみました

[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つ以上のファイルを選択して「OK」ボタンをクリックすると、ポップアップが直接表示されるようにします。 :( – Arc

関連する問題