2013-03-19 57 views
0

使用HTML5上傳文件,可以檢查文件是否正在上傳?最終我想展示一個簡單的gif,像一個進度條,但沒有任何dificult計數器/數學,所以這只是一個簡單的gif;使用HTML5上傳文件時顯示簡單的GIF

enter image description here

http://jsfiddle.net/DFT78/

,並在文件上傳我想這再次隱藏。我想知道的是; 如何檢查文件是否正在上傳?

代碼(HTML5ROCKS)

<style> 
    .thumb { 
    height: 75px; 
    border: 1px solid #000; 
    margin: 10px 5px 0 0; 
    } 
</style> 

<input type="file" id="files" name="files[]" multiple /> 
<output id="list"></output> 

<script> 
    function handleFileSelect(evt) { 
    var files = evt.target.files; // FileList object 

    // Loop through the FileList and render image files as thumbnails. 
    for (var i = 0, f; f = files[i]; i++) { 

     // Only process image files. 
     if (!f.type.match('image.*')) { 
     continue; 
     } 

     var reader = new FileReader(); 

     // Closure to capture the file information. 
     reader.onload = (function(theFile) { 
     return function(e) { 
      // Render thumbnail. 
      var span = document.createElement('span'); 
      span.innerHTML = ['<img class="thumb" src="', e.target.result, 
          '" title="', escape(theFile.name), '"/>'].join(''); 
      document.getElementById('list').insertBefore(span, null); 
     }; 
     })(f); 

     // Read in the image file as a data URL. 
     reader.readAsDataURL(f); 
    } 
    } 

    document.getElementById('files').addEventListener('change', handleFileSelect, false); 
</script> 
+1

請參閱此http://stackoverflow.com/a/8858040/405398並使用XHR的進度事件。 – 2013-03-19 12:56:00

回答

1

我不知道的 「正確」 的方式來做到這一點。但是我在上傳頁面中使用了一個Iframe,然後我可以在上傳工作的同時在其中放置一個gif。