download.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. const download0 = (data, fileName, mineType) => {
  2. if (!data || !fileName) return
  3. // 创建 blob
  4. const blob = new Blob([data], { type: mineType })
  5. // 创建 href 超链接,点击进行下载
  6. window.URL = window.URL || window.webkitURL
  7. const href = URL.createObjectURL(blob)
  8. const downA = document.createElement('a')
  9. downA.href = href
  10. downA.download = fileName
  11. downA.click()
  12. // 销毁超连接
  13. window.URL.revokeObjectURL(href)
  14. }
  15. const download = {
  16. // 下载 Excel 方法
  17. excel: (data, fileName) => {
  18. download0(data, fileName, 'application/vnd.ms-excel')
  19. },
  20. // 下载 Word 方法
  21. word: (data, fileName) => {
  22. download0(data, fileName, 'application/msword')
  23. },
  24. // 下载 Zip 方法
  25. zip: (data, fileName) => {
  26. download0(data, fileName, 'application/zip')
  27. },
  28. // 下载 Html 方法
  29. html: (data, fileName) => {
  30. download0(data, fileName, 'text/html')
  31. },
  32. // 下载 Markdown 方法
  33. markdown: (data, fileName) => {
  34. download0(data, fileName, 'text/markdown')
  35. }
  36. }
  37. export default download