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

这篇具有很好参考价值的文章主要介绍了uniapp中的uni-file-picker组件上传多张图片到服务器,可添加,预览,删除图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

以下是代码:

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

<uni-file-picker v-model="filePathsList" :auto-upload="false" file-mediatype="image" mode="grid"
fileMediatype="image"  @select="handleSelect" @delete="handleDelete" />

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);
},

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

参考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://www.toymoban.com/news/detail-514072.html

到了这里,关于uniapp中的uni-file-picker组件上传多张图片到服务器,可添加,预览,删除图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 使用uni-file-picker上传文件(图片)到腾讯云存储COS步骤

    使用uni-file-picker上传文件(图片)到腾讯云存储COS步骤

    微信小程序上传文件到腾讯云存储COS: 准备步骤: 1.拿到腾讯云的API密钥:在API密钥管理中获取SecretId和SecretKey,没有的话生成一个 2.开通COS存储创建存储桶,需要拿到存储桶名字和所在地域 3.打开对象存储的产品文档进入SDK文档里的小程序SDK里面有源码下载地址 主要是为了

    2024年02月07日
    浏览(6)
  • uni-file-picker上传图片到后端服务器并存入数据库

    最近在做一个需求,使用uniapp上传用户头像。后端会有一个处理上传图片返回图像链接的接口。在uniapp官网关于上传的组件有两个: (1)uni.uploadFile(object) (2)uni-file-picker 如果使用uni.uploadFile,前端的代码大致可以这样写: 这是官网给出的范例。对应的HTML: 然后就是 自

    2024年02月12日
    浏览(11)
  • uni-app uni-file-picker文件上传实现拍摄从相册选择获取图片上传文档服务器(H5上传-微信小程序上传)

    uni-app uni-file-picker文件上传实现拍摄从相册选择获取图片上传文档服务器(H5上传-微信小程序上传)

    前言 最近在使用uni-app写H5移动端,有一个从手机拍摄从相册选择获取图片上传到文档服务器功能。 查阅uni-app发现关于上传图片,uni-file-picker文件上传,uni.chooseImage,uni.uploadFile H5上传时它和pc端原理差不多,都是file对象上传,PC端是通过new file对象,uni-app是直接提供了 微信

    2024年02月15日
    浏览(35)
  • uniapp开发小程序中因uchart的canvas层级过高遮盖uni-datetime-picker组件的解决办法

    uniapp开发小程序中因uchart的canvas层级过高遮盖uni-datetime-picker组件的解决办法

    页面需要展示一个环形图,可以按时间段筛选数据,所以我用了 uchart 和 uni-datetime-picker 组件。 但uchart用到了 canvas ,其层级过高,当实机运行小程序时会遮盖弹出的uni-datetime-picker组件 当uni-datetime-picker组件弹出遮罩时,把canvas移到用户视野之外。 uni-datetime-picker组件本质就是

    2023年04月12日
    浏览(30)
  • 【Uni-App】用 uView 组件库中的u-picker 实现地区的 省-市-区 三级联动&确认&回显

    【Uni-App】用 uView 组件库中的u-picker 实现地区的 省-市-区 三级联动&确认&回显

    组件的引入就不多赘述了 直接看使用方法 地址我是引入的json文件数据结构大概是这个样子 例1 例2 做个动态style,控制是否高亮地址 链接:https://pan.baidu.com/s/1_heSAGHJnTe-343fRmbOPA 提取码:hmky 如果失效了 ,可以联系我获取

    2024年02月14日
    浏览(11)
  • 关于uniapp中的日历组件uni-calendar中的小红点

    关于uniapp中的日历组件uni-calendar中的小红点

    如果你使用过uni-calendar组件,可能你觉得这个小红点有点碍眼,但是官方给定的日历组件uni-calendar中如果你想要在某一天上添加一些信息例如:价格,签到,打卡之类,只要标记上就必定会带上小红点,那么我如何有想保留这些信息又把小红点去掉呢? 可以修改一下日历组件

    2024年02月15日
    浏览(56)
  • flutter file_picker dio web端上传记录

    app端的上传 获取到FilePickerResult 对象 里面包含 选择上传的文件信息 app端上传逻辑 api上传   其中file.count 表示上传的文件数量 file.paths 表示 选择文件的路径数组 通过dio 上传  使用FormData 进行转载  Global.isWeb  == kIsWeb web端上传报错: 不能使用file.paths 来上传文件 修改如下

    2024年01月22日
    浏览(28)
  • uniapp uni-datetime-picker 日期和光标靠右

    如果想在uni-datetime-picker组件中将日期和光标靠右,您可以使用自定义样式来实现。首先,您需要在页面的样式文件中定义一个类,用于定制uni-datetime-picker组件的样式。例如,你可以在App.vue或者页面的样式文件中添加以下代码: 然后,在使用uni-datetime-picker组件的地方,将c

    2024年02月13日
    浏览(33)
  • uniapp 使用 uni-data-picker级联选择器,自定义展示,uni小程序

    uniapp 使用 uni-data-picker级联选择器,自定义展示,uni小程序

    先看效果是不是你要的效果 页面组件 接口数据 接口数据以及处理方式 选中后的数据处理,拿到选中的值

    2024年02月05日
    浏览(35)
  • uniapp uni-datetime-picker结束时间不能高于开始时间,精确到时分秒

    uniapp uni-datetime-picker结束时间不能高于开始时间,精确到时分秒

    类似于问卷出题,问卷的开始时间不能低于当前时间,结束时间必须不能早于开始时间,精确到时分秒 在当前页面导入import {dataConversion} from “@/utils/index”; 第二天结束时间的时分秒可以往前选 当天的结束时间,时分秒只能往后选 我是uniapp的小浣熊,也是小火龙大哥,有事直接去群

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包