2017-03-29 5 views

Répondre

0

C'est Kendo utilisé dans la syntaxe Razor:

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

        ).Files(f => 
         { 
          if (Model != null && !string.IsNullOrEmpty(Model.ProcedureFile)) 
          { 
           f.Add().Name(Path.GetFileName(Model.ProcedureFile)); 
          } 
         }) 
         .Multiple(false) 
         .ShowFileList(true) 
         .Events(e => 
         { 
          e.Error("accountEventEditController.uploadProcFileError"); 
          e.Select("accountEventEditController.onProcFileUploadSelect"); 
          e.Upload("accountEventEditController.onProcFileUpload"); 
          e.Success("accountEventEditController.onProcFileSuccess"); 
          e.Remove("accountEventEditController.onProcFileRemove"); 
          e.Complete("accountEventEditController.onProcFileComplete"); 
         }) 
        )  

Comme vous pouvez le voir, vous pouvez brancher dans l'événement "Select". Ensuite, j'ai un fichier .js gestionnaire de contrôleur, qui exécute le code suivant pour filtrer les types de fichiers.

var onChkFileUploadSelect = function (e, type) { 

    var files = e.files; 
    var acceptedFiles = [".pdf", ".xlsx"]; 
    var isAcceptedImageFormat = ($.inArray(files[0].extension, acceptedFiles)) != -1; 
    console.log(files[0].extension);  

    if (!isAcceptedImageFormat) { 

     e.preventDefault(); 

     $(targetErrorControl).fadeIn('slow').delay(3000).fadeOut('slow'); 
    } 
} 

Espérons que cela aide certains.