download.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * 使用a链接下载文件,使用promise封装
  3. */
  4. export function downloadFileByA(url: string, name: string) {
  5. try {
  6. const link = document.createElement('a')
  7. link.href = url
  8. link.download = name
  9. document.body.appendChild(link)
  10. link.click()
  11. document.body.removeChild(link)
  12. }
  13. catch (error) {
  14. console.log(error)
  15. }
  16. }
  17. /**
  18. * 下载文件
  19. * @returns
  20. */
  21. export async function downloadFile(url: string, name: string) {
  22. try {
  23. const response = await fetch(url)
  24. if (!response.ok)
  25. throw new Error('下载失败')
  26. const blob = await response.blob()
  27. const link = document.createElement('a')
  28. link.href = URL.createObjectURL(blob)
  29. link.download = name
  30. document.body.appendChild(link)
  31. link.click()
  32. document.body.removeChild(link)
  33. }
  34. catch (error) {
  35. console.error(error)
  36. }
  37. }
  38. /**
  39. * 下载文件
  40. * @returns
  41. */
  42. export async function downloadFileA(url: string, name: string) {
  43. try {
  44. const link = document.createElement('a')
  45. link.href = url
  46. link.download = name
  47. document.body.appendChild(link)
  48. link.click()
  49. document.body.removeChild(link)
  50. }
  51. catch (error) {
  52. console.log(error)
  53. }
  54. }