upload.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <route lang="json5" type="page">
  2. {
  3. layout: 'default',
  4. style: {
  5. navigationBarTitleText: '上传',
  6. },
  7. }
  8. </route>
  9. <template>
  10. <view class="p-4 text-center">
  11. <wd-button @click="chooseImage">选择图片并上传</wd-button>
  12. <view class="m-2">上传后返回的图片地址:</view>
  13. <view class="m-2">{{ imgStr }}</view>
  14. <view class="h-80 w-full">
  15. <image v-if="imgStr" :src="imgStr" mode="scaleToFill" />
  16. </view>
  17. </view>
  18. </template>
  19. <script lang="ts" setup>
  20. const imgStr = ref('')
  21. const chooseImage = () => {
  22. // #ifdef MP-WEIXIN
  23. // 微信小程序从基础库 2.21.0 开始, wx.chooseImage 停止维护,请使用 uni.chooseMedia 代替。
  24. // 微信小程序在2023年10月17日之后,使用本API需要配置隐私协议
  25. uni.chooseMedia({
  26. count: 1,
  27. mediaType: ['image'],
  28. success: (res) => {
  29. console.log(res)
  30. const tempFilePath = res.tempFiles[0].tempFilePath
  31. uni.uploadFile({
  32. url: 'https://ukw0y1.laf.run/upload',
  33. filePath: tempFilePath,
  34. name: 'file',
  35. formData: {
  36. user: '菲鸽',
  37. },
  38. success: (uploadFileRes) => {
  39. console.log(uploadFileRes.data)
  40. imgStr.value = uploadFileRes.data
  41. },
  42. })
  43. },
  44. })
  45. // #endif
  46. // #ifndef MP-WEIXIN
  47. uni.chooseImage({
  48. count: 1,
  49. success: (res) => {
  50. console.log(res)
  51. const tempFilePath = res.tempFilePaths[0]
  52. uni.uploadFile({
  53. url: 'https://ukw0y1.laf.run/upload',
  54. filePath: tempFilePath,
  55. name: 'file',
  56. formData: {
  57. user: '菲鸽',
  58. },
  59. success: (uploadFileRes) => {
  60. console.log(uploadFileRes.data)
  61. imgStr.value = uploadFileRes.data
  62. },
  63. })
  64. },
  65. })
  66. // #endif
  67. }
  68. </script>
  69. <style lang="scss" scoped>
  70. //
  71. </style>