upload.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // 文件上传
  2. const WUpload = (url, uploadName, token, data = {}, source) => {
  3. return new Promise(function(resolve, reject) {
  4. uni.showLoading({
  5. title: '上传中...',
  6. mask: true
  7. })
  8. // data['token'] = token
  9. var tempFilePaths = source.tempFiles[0].path
  10. // let is_test = ''
  11. // data['is_test'] = 1
  12. uni.uploadFile({
  13. url: url, //仅为示例,非真实的接口地址
  14. filePath: tempFilePaths,
  15. // name值需要根据项目自己配置
  16. name: uploadName || 'file',
  17. header: {
  18. 'content-type': 'multipart/form-data',
  19. "Authorization": token
  20. },
  21. formData: data,
  22. success: function(res) {
  23. uni.hideLoading()
  24. // 如果返回json格式,转换成字符串
  25. if (IsJsonString(res.data)) {
  26. res.data = JSON.parse(res.data)
  27. }
  28. resolve(res.data)
  29. },
  30. fail: function(err) {
  31. uni.hideLoading()
  32. uni.showToast({
  33. title: '上传失败,请稍后重试!',
  34. icon: 'none',
  35. duration: 2000
  36. })
  37. },
  38. complete: function() {}
  39. })
  40. })
  41. }
  42. // 判断是否未json
  43. const IsJsonString = (str) => {
  44. try {
  45. JSON.parse(str);
  46. } catch (e) {
  47. return false;
  48. }
  49. return true;
  50. }
  51. export {
  52. WUpload
  53. }