2013-02-13 72 views
1

我有一個api調用,發送給我一個文件流。我得到流並將其作爲uInt8Array放出。使用uInt8Array響應 - 文件下載 - Javascript

林這個HTML5例如:

http://www.html5rocks.com/en/tutorials/file/xhr2/

我知道文件的名稱和類型是什麼,我怎麼把這個陣列中的數據變成了「文件」,並把那個給用戶下載?

xhr = new XMLHttpRequest() 
xhr.open "GET", "#{window.API_URL}/transfer/123/2134/#{program_id}", true 
xhr.responseType = "arraybuffer" 
xhr.onloadstart = (e) -> 
    # downloading file notify on footer 
xhr.onprogress = (e) -> 
    # show progress and size of file. 
    console.log "#{Math.round(e.loaded/e.total)*100}% completed" 
xhr.onload = (e) -> 
    uInt8Array = new Uint8Array(@response) 

xhr.send() 

回答

0

試試這個辦法(工作在IE10 +,FF,鉻):

var blob = new Blob([uInt8Array], {type: contentType }); 

,並參考answer