当前位置:   article > 正文

uni-file-picker上传图片到后端服务器并存入数据库_uni-file-picker 上传地址

uni-file-picker 上传地址

最近在做一个需求,使用uniapp上传用户头像。后端会有一个处理上传图片返回图像链接的接口。在uniapp官网关于上传的组件有两个:

(1)uni.uploadFile(object)

(2)uni-file-picker

如果使用uni.uploadFile,前端的代码大致可以这样写:

  1. uni.chooseImage({
  2. success: (chooseImageRes) => {
  3. const tempFilePaths = chooseImageRes.tempFilePaths;
  4. uni.uploadFile({
  5. url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
  6. filePath: tempFilePaths[0],
  7. name: 'file',
  8. formData: {
  9. 'user': 'test'
  10. },
  11. success: (uploadFileRes) => {
  12. console.log(uploadFileRes.data);
  13. }
  14. });
  15. }
  16. });

这是官网给出的范例。对应的HTML:

  1. <view class="avatar" @click="Imageupload">头像上传</view>
  2. <script>
  3. ...
  4. methods:{
  5. Imageupload(){
  6. uni.chooseImage(){
  7. ....
  8. }
  9. }
  10. }
  11. </script>

然后就是 自己写样式了。不过还要写图片回显的函数,不然不能看到图片上传的效果,还是挺麻烦的。

所以,为了方便,我用的是uni-file-picker+uni.uploadFile组合。也算是偷懒的方法吧。

  1. <uni-forms-item label="选择头像" name="avatar" labelWidth="90">
  2. <uni-file-picker limit="1" :del-icon="false" disable-preview :imageStyles="imageStyles"file-mediatype="image" :auto-upload="false" @select="upload">选择</uni-file-picker>
  3. </uni-forms-item>
  4. ...
  5. <script>
  6. upload(e) {
  7. const tempFilePaths = e.tempFilePaths;//e是获取的图片源
  8. uni.uploadFile({
  9. url: 'http://localhost:9191/files/upload', //上传图片的后端接口
  10. filePath: tempFilePaths[0],
  11. name: 'file',
  12. success: res => {
  13. this.formData.avatar = res.data
  14. console.log(this.formData.avatar, "头像")
  15. }
  16. })
  17. }
  18. </script>

当然我这个是一种偷懒的方法,要学东西还是要深入的去了解其所以然。 

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

闽ICP备14008679号