elementUploadAndDownload.js 722 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import Vue from 'vue'
  2. import { downloadFile } from '@/utils'
  3. /**
  4. * 上传
  5. * @param {Promise} api 提交api
  6. * @param {File} file 文件
  7. * @param {Promise} init 实例
  8. */
  9. export async function upload (api, file) {
  10. const formData = new FormData()
  11. formData.append('file', file)
  12. try {
  13. await api(formData)
  14. Vue.prototype.$message.success('导入成功')
  15. return true
  16. } catch (error) {
  17. Vue.prototype.$message.error(error)
  18. }
  19. }
  20. /**
  21. * 下载
  22. * @param {Promise} api
  23. * @param {Object} params
  24. */
  25. export async function download (api, params) {
  26. try {
  27. const { data, name } = await api(params)
  28. downloadFile(data, name)
  29. return true
  30. } catch (error) {
  31. this.$message.error(error)
  32. }
  33. }