uploadImage.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import {
  2. apiUrl
  3. } from "../apis/apiConfig"
  4. function uploadFile(filePath, formData) {
  5. return new Promise((resolve, reject) => {
  6. wx.uploadFile({
  7. url: `${apiUrl}/cos/upload`,
  8. filePath,
  9. name: 'file',
  10. formData,
  11. success: e => {
  12. resolve(JSON.parse(e.data))
  13. },
  14. fail: reject
  15. })
  16. })
  17. }
  18. function uploadImage(type) {
  19. return new Promise((resolve, reject) => {
  20. wx.chooseMedia({
  21. mediaType: ["image"],
  22. sourceType: ["camera"],
  23. success: e => {
  24. console.log("获取媒体成功!", e)
  25. let src = e.tempFiles[0].tempFilePath
  26. wx.compressImage({
  27. src,
  28. quality: 80, // 压缩质量
  29. success: async e => {
  30. console.log("图片压缩成功!", e)
  31. wx.hideLoading({
  32. success: (res) => {},
  33. })
  34. wx.showLoading({
  35. title: '正在上传...',
  36. })
  37. let res = await uploadFile(e.tempFilePath, {
  38. type
  39. })
  40. console.log("上传结束", res)
  41. if (res.status == 0) {
  42. wx.showToast({
  43. title: res.msg
  44. })
  45. resolve(res)
  46. } else {
  47. wx.showToast({
  48. title: res.msg
  49. })
  50. }
  51. },
  52. fail: e => {
  53. console.log("失败2", e)
  54. }
  55. })
  56. },
  57. fail: e => {
  58. console.log("失败1", e)
  59. }
  60. })
  61. })
  62. }
  63. module.exports = {
  64. uploadImage
  65. }