㈠ js怎麼保存圖片到本地
js沒有操作本地來文件的許可權,源可以藉助.net,php等後端語言才行的,將圖片提交之後,返回個下載地址,window.open就自動下載了。
但是圖片可以是svg的話
function saveAs(Url,filename){
var blob=new Blob([''], {type:'application/octet-stream'});
var url = webkitURL.createObjectURL(blob);
var a = document.createElementNS(xhtml,'a');
a.href = Url;
a.download = filename;
var e = document.createEvent('MouseEvents');
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
webkitURL.revokeObjectURL(url);
2.saveAs(data,"new.svg")
㈡ JS下載文件的那些事(a標簽與ajax)
在項目開發中,下載文件是一個常見需求。本文總結了使用 JavaScript 實現文件下載的幾種方法,包括使用 a 標簽、自動下載、ajax 實現以及藉助第三方庫。
首先,利用 a 標簽手動觸發下載。通過使用 URL.createObjectURL() 方法,可以創建指向文件對象的 URL,從而實現下載。這個 URL 只存在於當前文檔中,指向執行的 File 或 Blob 對象。同時,可以使用 Blob 對象表示二進制數據,通過 new Blob() 創建。
其次,實現自動下載功能。當用戶點擊鏈接時,可以觸發下載過程,同時顯示內容。利用 EventTarget.dispatchEvent() 方法,結合 MouseEvent 事件,能夠實現自動下載。
對於更復雜的需求,如下載不同類型的文件(如視頻、圖片),可以使用 ajax 方法實現。首先,需要解決跨域問題。然後,通過 ajax 獲取 Blob 對象,再使用 URL.createObjectURL() 創建 URL,最後使用 a 標簽設置 href 屬性進行下載,同時添加 download 屬性指定文件名。
最後,可以考慮使用第三方庫 FileSaver.js,它提供了一種更簡單、靈活的下載方式,能夠處理各種文件類型。只需引入庫文件,遵循 README.md 的指示使用即可。藉助 FileSaver.js,開發者可以專注於業務邏輯,而將文件下載的實現細節留給庫。