当前位置:   article > 正文

uniapp APP 上传文件

uniapp APP 上传文件
  1. /**
  2. * 上传文件
  3. */
  4. uploadPhoneFile:function(callback,params = {}) {
  5. let fileType = ['.pdf','.doc','.xlsx','.docx','.xls']
  6. // #ifdef APP-PLUS
  7. plus.io.chooseFile({
  8. title: '选择文件',
  9. filetypes: ['doc', 'docx'], // 允许的文件类型
  10. multiple: false, // 是否允许多选
  11. },(e)=>{
  12. const tempFilePaths = e.files
  13. //第二步:把选择的文件上传到服务器
  14. Promise.all(tempFilePaths.map((tempFile) => {
  15. return new Promise((resolve,reject) => {
  16. uni.uploadFile({
  17. url: process.uniEnv.baseUrl + '/file/attch/upload',
  18. filePath: tempFile,
  19. name: 'file',
  20. header: {
  21. Authorization: 'Bearer ' + utils.CacheStorage("access_token"),// uni.getStorageSync('access_token'),
  22. terminal:'app'
  23. },
  24. success: (uploadFileRes) => {
  25. // console.log('asdaggg',JSON.parse(uploadFileRes.data));
  26. let { code,data,msg } = JSON.parse(uploadFileRes.data)
  27. if(code === 200) {
  28. resolve(data)
  29. } else {
  30. uni.showToast({
  31. title: msg,
  32. icon: 'none'
  33. })
  34. reject('上传失败')
  35. }
  36. },
  37. fail: (error) => {
  38. reject(error)
  39. }
  40. });
  41. })
  42. })).then(images => {
  43. // console.log('上传成功>>>>>>',images)
  44. callback(images)
  45. })
  46. });
  47. // #endif
  48. // #ifndef APP-PLUS
  49. uni.chooseFile({
  50. //第一步:选择文件
  51. count: 1, //默认100
  52. extension: fileType,
  53. success: function (res) {
  54. const tempFilePaths = res.tempFilePaths;//若果只选择一个文件,这个文件就是数组的第一个元素
  55. //第二步:把选择的文件上传到服务器
  56. Promise.all(res.tempFilePaths.map((tempFile) => {
  57. return new Promise((resolve,reject) => {
  58. uni.uploadFile({
  59. url: '/dev-api/file/attch/upload',
  60. filePath: tempFile,
  61. name: 'file',
  62. header: {
  63. Authorization: 'Bearer ' + utils.CacheStorage("access_token"),// uni.getStorageSync('access_token'),
  64. terminal:'app'
  65. },
  66. success: (uploadFileRes) => {
  67. console.log('asdaggg',JSON.parse(uploadFileRes.data));
  68. let { code,data,msg } = JSON.parse(uploadFileRes.data)
  69. if(code === 200) {
  70. resolve(data)
  71. } else {
  72. uni.showToast({
  73. title: msg,
  74. icon: 'none'
  75. })
  76. reject('上传失败')
  77. }
  78. },
  79. fail: (error) => {
  80. reject(error)
  81. }
  82. });
  83. })
  84. })).then(images => {
  85. console.log('asdjgllgl;s',images)
  86. callback(images)
  87. })
  88. }
  89. })
  90. // #endif
  91. }

写法很粗糙,只自己用作记录,可以再优化与扩展。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/267441
推荐阅读
相关标签
  

闽ICP备14008679号