uploadFile.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import request from '@/request'
  2. export default {
  3. // 上传图片标识 0头像 1身份证 2题库 3指南指引图片 4广告图片 5身份证或学信网图片 6文件excel,word,zip等
  4. //file: 类似this.$refs.file.files[0]
  5. upload: function (file, int) {
  6. return new Promise((resolve, reject) => {
  7. if(typeof file != 'object') {
  8. resolve(file)
  9. return;
  10. }
  11. var datas = {
  12. imageStatus: int
  13. }
  14. request.getPolicy(datas).then(res => {
  15. var ossToken = res.data.resultContent
  16. // const filename = file.name;
  17. // const fileExtension = filename.split('.').pop().toLowerCase()
  18. let formData = new FormData()
  19. // formData.append('key', ossToken.dir + "." + fileExtension); //存储在oss的文件路径
  20. formData.append('key', ossToken.dir); //存储在oss的文件路径
  21. formData.append('OSSAccessKeyId', ossToken.accessid); //accessKeyId
  22. formData.append('policy', ossToken.policy); //policy
  23. formData.append('Signature', ossToken.signature); //签名
  24. formData.append('callback', ossToken.callback); //回调
  25. formData.append('success_action_status', 200); //成功后返回的操作码
  26. //如果是base64文件,那么直接把base64字符串转成blob对象进行上传就可以了
  27. formData.append("file", file);
  28. request.uploadFile(ossToken.host, formData).then(resp => {
  29. resolve(ossToken.dir)
  30. // resolve(ossToken.host + '/' + ossToken.dir)
  31. }).catch(error => {
  32. console.log(error,'1231')
  33. reject(error)
  34. })
  35. }).catch(err => {
  36. reject(err)
  37. })
  38. })
  39. },
  40. }