2017-03-22 2 views
0

私はKendo.Mvc.UI.FileUploadでファイルフィルタを追加する方法を見ています。私はいくつかの例をオンラインで見つけましたが、それらのすべてが 'select'というメソッドを使用しています。私が使用している剣道の現在のバージョンはこのメソッドを持っていません。私は、.pdfと.csvファイルに選択できるファイルタイプを分離しようとしています。Kendo v2016を使用してファイルフィルタを追加するには

私は現在もやっている、以下の例に示したように、基本的なファイルのアップロードが行われている、JavaScriptではかみそり構文で剣道をいない使用している:私はおそらくこれを拡張することができますどのように

@(Html.Kendo().Upload() 
         .Name("chkfiles") 
         .Async(a => a 
        .Save("SaveCF", "AccountEvent", new { id = Model.SeqNum }) 
        .Remove("RemoveCF", "AccountEvent", new { id = Model.SeqNum }) 
          .AutoUpload(true) 

        ).Files(f => 
         { 
          if (Model != null && !string.IsNullOrEmpty(Model.CheckListFile)) 
          { 
           f.Add().Name(Path.GetFileName(Model.CheckListFile)); 
          } 
         }) 
         .Multiple(false) 
          .Events(e => 
          { 
           e.Error("accountEventEditController.uploadCheckFileError"); 
           e.Upload("accountEventEditController.onCheckFileUpload"); 
           e.Success("accountEventEditController.onCheckFileSuccess"); 
           e.Remove("accountEventEditController.onCheckFileRemove"); 
           e.Complete("accountEventEditController.onCheckFileComplete"); 
          }) 
        ) 

かアップロードする前にファイルをフィルタリングするかどうかをチェックします。開いているファイルダイアログをフィルタリングすることはできませんが、選択したファイルタイプが間違っているとe.preventdefault()を呼び出すことができると私は読んでいます。しかし、どのように私はこれを邪魔するのですか、または剣道fileuploadウィジェットによって作成されたファイル入力HTMLをどのように編集できますか?次に、以下のような属性パラメータを追加することができます。

accept=".xls,.xlsx" 

ご協力いただきありがとうございます。

+0

男を私はしばらく探してきたが、右だと思い投稿した後、私は答えを見つけました。検証パラメータがあることはわかりませんでしたので、今すぐ試してみてください。 – Casey

+0

動作していません。私は剣道を呼び出すためにjavascript形式ではなく、これをかみそりで使用するときに検証を使用できないのはなぜですか? – Casey

答えて

0

私はselectイベントを購読でき、ファイルタイプが間違っていればpreventdefault()を返すことができます。

@(Html.Kendo().Upload() 
        .Name("chkfiles") 
        .Async(a => a 
       .Save("SaveCF", "AccountEvent", new { id = Model.SeqNum }) 
       .Remove("RemoveCF", "AccountEvent", new { id = Model.SeqNum }) 
         .AutoUpload(true) 

       ).Files(f => 
        { 
         if (Model != null && !string.IsNullOrEmpty(Model.CheckListFile)) 
         { 
          f.Add().Name(Path.GetFileName(Model.CheckListFile)); 
         } 
        }) 
        .Multiple(false) 
         .Events(e => 
         { 
          e.Error("accountEventEditController.uploadCheckFileError"); 
          e.Upload("accountEventEditController.onCheckFileUpload"); 
          e.Success("accountEventEditController.onCheckFileSuccess"); 
          e.Remove("accountEventEditController.onCheckFileRemove"); 
          e.Complete("accountEventEditController.onCheckFileComplete"); 

          e.Select("accounteventcontroller.onSelectFile"); 
         }) 
       ) 

またはマイHtmlAttributesセクション答えるために:

@(Html.Kendo().Upload() 
         .Name("chkfiles")       
         .Async(a => a 
        .Save("SaveCF", "AccountEvent", new { id = Model.SeqNum }) 
        .Remove("RemoveCF", "AccountEvent", new { id = Model.SeqNum }) 
        .HtmlAttributes(new { accept = ".pdf, .csv" }) 
        .AutoUpload(true)) 
        .Files(f => 
         { 
          if (Model != null && !string.IsNullOrEmpty(Model.CheckListFile)) 
          { 
           f.Add().Name(Path.GetFileName(Model.CheckListFile)); 
          } 
         }) 
        .Multiple(false) 
        .Events(e => 
        { 
           e.Error("accountEventEditController.uploadCheckFileError"); 
           e.Upload("accountEventEditController.onCheckFileUpload"); 
           e.Success("accountEventEditController.onCheckFileSuccess"); 
           e.Remove("accountEventEditController.onCheckFileRemove"); 
           e.Complete("accountEventEditController.onCheckFileComplete"); 
          }) 

        ) 
関連する問題