[英]Is there a way to download any kind of file using angular filesaver?
我正在為我的應用程序使用node.js和angular.js,並且嘗試使用Blob和fileSaver.js通過瀏覽器下載文件。
我在應用程序的其他部分中使用了這些文件,以便在創建Blob對象時下載文本文件和pdf文件以指定正確的類型,而沒有任何問題,但是在當前部分中,我需要支持任何類型的文件,但我不知道如果它是可能的。
例如,我嘗試下載帶有和不帶有type:image/png
的圖像文件,結果是圖像損壞-在文本編輯器中檢查該圖像並將其與原始文件進行比較,結果顯示許多字節已更改。
以下是我使用的代碼段:
服務器 :
fs.readFile(/* snipped file path */, function(err, data){
if(err){
/* handle error */
}
else{
res.send(data);
}
});
客戶 :
$http.get(/* endPoint URL */)
.success(function(result){
var data = new Blob([result], {type: 'image/png'});
FileSaver.saveAs(data, filename);
});
幾個問題:
content-type
標題或其他內容? 嘗試在您的GET請求中添加{contentType: 'arraybuffer'}
並從Blob定義中刪除類型,如下所示:
$http.get(/* endPoint URL */, {contentType: 'arraybuffer'})
.success(function(result){
var data = new Blob([result]);
FileSaver.saveAs(data, filename);
});
( 編輯:從Blob中刪除了冗余類型定義)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.