广告
返回顶部
首页 > 资讯 > 服务器 >uniapp中的uni-file-picker组件上传多张图片到服务器,可添加,预览,删除图片
  • 564
分享到

uniapp中的uni-file-picker组件上传多张图片到服务器,可添加,预览,删除图片

uni-appjavascript开发语言前端 2023-08-23 08:08:24 564人浏览 独家记忆
摘要

前言:在uniapp官方文档中的uni-file-picker组件可实现图片上传功能,官方文档:uniapp官网 中的案例不能完全满足需求,官网中默认的是上传到自带的服务空间 以下是代码: view代码: :auto-upload="fal

前言:在uniapp官方文档中的uni-file-picker组件可实现图片上传功能,官方文档:uniapp官网 中的案例不能完全满足需求,官网中默认的是上传到自带的服务空间

以下是代码:

view代码:
:auto-upload="false"加上这个取消自动上传

methods方法

选择图片

async handleSelect(res) {await this.uploadImg(res.tempFilePaths, 1);},

上传图片

async uploadImg(tempFilePaths, token) {if (!tempFilePaths.length) return;  //如果没有选择图片就退出//循环选择图片的张数tempFilePaths.map(async () => {const path = tempFilePaths.pop();//因为我这个后台给的接口一次只能上传一张图片,所以每循环一次就调用接口上传一次const [err, {data}] = await uni.uploadFile({url: 'https://localhost/file/api/uploadtemp',//后台地址filePath: path,name: 'file',fORMData: {'user': 'test'},});//因为async返回的是个promise对象,所以要把返回的数据转为对象格式。let dataObj = JSON.parse(data)//每循环一次就把后台返回的图片地址添加到filePathsList数组this.filePathsList.push({url: dataObj.data,name: ""})})console.log('filePathsList', this.filePathsList);this.uploadImg(tempFilePaths, token);},

删除图片

handleDelete(err) { // 删除图片    const num = this.filePathsList.findIndex(v => v.url === err.tempFilePath);    this.filePathsList.splice(num, 1);},

上传事例:
在这里插入图片描述

参考http://t.csdn.cn/RWQ85这个博主写的,自己修改了一点。

疑问 参考博主的文章中这个代码 this.isGuid 不知道是什么意思,希望有人看到了可以讲解下。

if (!this.isGuid(data)) {    // upload fail    this.filePathsList.pop()    uni.showToast({        title: "上传失败",        icon: "none"    })}else{    // upload success    this.filePathsList[this.filePathsList.length - 1].name = data}

(自己的笔记)

来源地址:https://blog.csdn.net/weixin_51014776/article/details/128361316

--结束END--

本文标题: uniapp中的uni-file-picker组件上传多张图片到服务器,可添加,预览,删除图片

本文链接: https://www.lsjlt.com/news/378377.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作