2015-01-14 2 views
2

У меня есть контроль загрузки файлаудаления конкретного файла из-под контроля FileUpload

<ajaxToolkit:AsyncFileUpload ClientIDMode="Static" name="aa[]" BackColor="Azure" 
          ForeColor="Black" OnClientUploadError="uploadError" OnClientUploadStarted="abc" 
          multiple="multiple" OnClientUploadComplete="uploadComplete" runat="server" ID="AsyncFileUpload1" 
          Width="400px" CompleteBackColor="White" UploadingBackColor="#CCFFFF" OnUploadedComplete="AsyncFileUpload1_UploadedComplete" /> 

Я хочу, чтобы удалить конкретный файл из-под контроля FileUpload.

позволяет сказать, что я хочу, чтобы удалить второй файл, поэтому я хочу, чтобы добиться чего-то вроде этого

fileupload1.files[1].remove() 

Можно ли контролировать FileUpload?

Я хочу, чтобы достичь его в JavaScript

ответ

0

с помощью JavaScript его можно, если вы используете FileReader, то вы должны добавить обычный входной файл слушатель изменения событий затем цикл через каждый файл из события изменения, фильтра для требуемой проверки, нажмите действительные файлы в отдельный массиве использования FileReader API для чтения файлов локально представить действительные, обработанные файлы на сервер, как этот код, например:

var validatedFiles = []; 
$("#fileToUpload").on("change", function (event) { 
    var files = event.originalEvent.target.files; 
    files.forEach(function (file) { 
    if (file.name.matches(/something.txt/)) { 
     validatedFiles.push(file); // Simplest case 
    } else { 
     /* do something else */ 
    } 
    }); 
}); 

validatedFiles.forEach(function (file) { 
    if (file.name.matches(/something.txt/)) { // You could also do more complicated validation after processing the file client side 
     var reader = new FileReader(); 
     // Setup listener 
     reader.onload = (function (processedFile) { 
     return function (e) { 
      var fileData = { name : processedFile.name, fileData : e.target.result }; 

      // Submit individual file to server 
      $.post("/your/url/here", fileData); 

      // or add to list to submit as group later 
      validatedFiles.push(fileData); 
     }; 
     })(file); 

     // Process file 
     reader.readAsDataURL(file); 
    } else { 
     /* still do something else */ 
    } 
    }); 

Надеется, что это помогает

Смежные вопросы