UNPKG

@planjs/utils

Version:

🔧 Common tools collection

37 lines (31 loc) • 890 B
import dataURLToBlob from '../blob/dataURL-to-blob'; /** * 下载文件 * @param path {url|data url|blob} * @param fileName * @category Bom */ function downloadFile(path, fileName) { var a = document.createElement('a'); var event = new MouseEvent('click'); a.download = fileName; a.href = path instanceof Blob ? URL.createObjectURL(path) : path; if (typeof path === 'string') { try { a.href = URL.createObjectURL(dataURLToBlob(path)); } catch (e) {} } if (path instanceof Blob) { var clickHandler = function clickHandler() { setTimeout(function () { URL.revokeObjectURL(a.href); a.removeEventListener('click', clickHandler); }, 150); }; a.addEventListener('click', clickHandler, false); } document.body.appendChild(a); a.dispatchEvent(event); document.body.removeChild(a); } export default downloadFile;