亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Safari / iOS中“下載”屬性的替代方法

Safari / iOS中“下載”屬性的替代方法

慕田峪7331174 2021-04-27 12:12:32
我有一個用base64創建的Blob,我需要將此數據下載為pdf。我創建了以下代碼段:    var blob = new Blob([byte]);    var link = document.createElement('a');    link.href = window.URL.createObjectURL(blob);    link.target = '_blank';    var fileName = name + '.pdf';    link.download = fileName;    link.click();它適用于所有瀏覽器,但iOS上的safari mobile除外。該文件實際上已下載,但名稱為“未知”,由于擴展名丟失,因此無法打開。問題在于,下載屬性缺少對此瀏覽器和IE的支持。IE有很多解決方法,但我沒有在Safari / iOS中找到任何解決方法。您知道如何在此瀏覽器中下載從base64(不涉及XHR)獲得的Blob嗎?
查看完整描述

3 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

我需要在Safari iOS中將這些數據下載為pdf(...)

簡短的回答:您不能。由于此錯誤無法在safari iOS上下載文件


另一種方法是在瀏覽器中使用正確的mime類型打開文件,以便它可以顯示其內容(然后用戶可以根據需要手動下載它)。

創建Blob時,請確保傳遞mime類型。參考

var blob = new Blob([byte], {type: 'application/pdf'});

最后,我強烈建議您使用FileSaver.js,它可以處理大多數特殊情況/多種瀏覽器支持,以保存(或在這種情況下,打開)JavaScript文件。


查看完整回答
反對 回復 2021-05-06
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

Safari中的“目標”屬性似乎覆蓋了“下載”屬性。據我所知,目前尚無辦法解決。因此,我認為您必須等待幾個月后發布的下一個Safari版本(13)。


查看完整回答
反對 回復 2021-05-06
  • 3 回答
  • 0 關注
  • 247 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號