uniapp——上传图片获取到file对象而非临时地址——基础积累

news2024/12/28 2:42:01

最近在看uniapp的代码,遇到一个需求,就是要实现上传图片的功能
uniapp 官网地址:https://uniapp.dcloud.net.cn/

上传图片有对应的API:
uni.chooseImage方法:https://uniapp.dcloud.net.cn/api/media/image.html#chooseimage
此方法可以通过【从本地相册选择图片或使用相机拍照】来获取图片的临时地址:
在这里插入图片描述
接口返回的参数有:【tempFilePaths】和【tempFiles】两个
在这里插入图片描述
现在需要将【tempFiles】中的【file】对象上传到后端提供的接口。

然后通过uni.unploadFile将临时地址上传到网络获取网络地址。

但是如果后端不支持临时地址进行上传,仅支持file文档流。

但是经过测试,uni.request是不支持formdata格式的。

所以我这边最后的处理方法,是通过fetch进行传递,完整代码如下:

uni.chooseImage({
	count: 1, //默认9
	sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
	sourceType: ['album'], //从相册选择
	success: (res) => {
		let file = res.tempFiles[0];
		var formData = new FormData();
		formData.append('image', file)
		var requestOptions = {
			method: 'post',
			headers: {
				Authentication: uni.getStorageSync('userToken')
			},
			body: formData,
		};
		fetch(
				`${this.$store.state.pathUrl}/member/update_img`,
				requestOptions
			)
			.then((response) => {
				return response.json();
			}).then(res => {
				console.log(res);
				if (res.code == '1000') {
					uni.showToast({
						title:res.message,
					})
				}else{
					uni.showToast({
						title:res.message,
						icon:'error'
					})
				}
			})
	}
})

完成!!!多多积累,多多收获!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1864847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索Linux的奇妙世界:第二关---Linux的基本指令(上篇)

1. xshell与服务器的连接 想必大家在看过上一期视频时已经搭建好了Linux的环境了并且已经下好了终端---xshell了吧?让我来带大家看一看下好了是什么样子的: 第一次登陆会让你连接你的服务器,就是我们买的云服务器,买完之后需要把公网地址ip复制过来进行链接,需要用户名和密码连…

秋招Java后端开发冲刺——关系型数据库篇(Mysql)

本文介绍关系型数据库及其代表Mysql数据库,并介常见面试题目。 一、数据库概述 1. 数据库(Database, DB):是长期储存在计算机内的、有组织的、可共享的数据集合。 2. 数据库管理系统(Database Management System, D…

MATLAB-NGO-CNN-SVM,基于NGO苍鹰优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类)

NGO-CNN-SVM,基于NGO苍鹰优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类) 1.数据均为Excel数据,直接替换数据就可以运行程序。 2.所有程序都经过验证,保证程序可以运行。 3.具有良好的编程习惯,程序均…

408计算机网络--物理层

一、物理层概述 物理层是干嘛使得? 物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。 物理层主要任务是确定与传输媒体接口有关的一些特性。定义标准可以理解为插排上的两孔三孔 机械特性:定义物理连接…

质量保证计划书(DOC原件)

2 质量目标 3 项目基本情况 4 资源 4.1 人员 4.1.1 组织结构 4.1.2 职责 4.2 工具及设施 5 质量保证的主要工作 6 质量保证工作量估算 7 质量保证工作提交的产物 8 变更管理 9 评价标准 10 形成的记录 软件全套精华资料包清单部分文件列表: 工作安排任…

钢筋计在工程项目中的关键应用与优势

在长期工程项目中,如大型桥梁、高层建筑或深基坑工程中,钢筋是承载结构的重要组成部分。为确保工程质量和安全,监测与管理钢筋的状态至关重要。钢筋计作为一种先进的监测工具,在长期工程项目中发挥着不可替代的作用。 1. 钢筋计的…

海外品牌营销:TikTok达人合作中的挑战与对策

随着TikTok成为许多品牌进行营销推广的重要渠道,TikTok上达人也因其庞大的粉丝基础和强大的内容创作能力,成为品牌合作的首选对象。然而,在与TikTok达人合作的过程中,品牌也面临着诸多挑战,如合作沟通、内容创意、数据…

[vscode] 自定义log快捷生成代码

1、进入设置页面:文件>首选项>用户代码片段>选择设置的语言。 2. 关于代码段显示位置的调整设置 文件>首选项>设置,搜索代码段或snippetSuggestions,修改为”top”; 参考: vscode自定义log快捷生成代码

Android开发之滑动菜单(八)

文章目录 Android菜单使用(Menu)菜单分类滑动菜单使用步骤 滑动菜单先实现一个简单的滑动菜单步骤:使用NavigationView控件丰富滑动菜单图像内容效果展示 Android菜单使用(Menu) 菜单分类 选项菜单 产生对应全局影响…

忘了SD3 Medium吧!SD【写实大模型】逼真! 震撼!胶片风真实感大模型——LEOSAM‘s MoonFilm V2

hello,大家好我是安琪, 虽然SD3 Medium模型已经推出一段时间,应该也不少朋友和老徐一样,非常期待基于 SD3 微调的模型能有更好的表现力,但随着近期C站对SD3 微调模型的封杀,目前还没有见到太多SD3的其他模…

FPGA开发技能(7)Vivado设置bit文件加密

文章目录 前言1. AES加密原理2.xilinx的AES方案3.加密流程3.1生成加密的bit流3.2将密钥写入eFUSE寄存器 4.验证结论5.传送门 前言 在FPGA的项目发布的时候需要考虑项目工程加密的问题,一方面防止自己的心血被盗,另一方面也保护公司资产,保护知…

yolo-world使用自己数据集训练

YOLO-World下载: https://github.com/AILab-CVC/YOLO-World/tree/master 1.数据准备 数据格式COCO格式即可 2.配置文件修改 configs/finetune_coco/yolo_world_v2_l_vlpan_bn_sgd_1e-3_40e_8gpus_finetune_coco.py (1) 模型下载路径&#xf…

六载深耕结硕果 重任千钧再出发——福建又一物联网项目交付

在福建这片充满活力的土地上,唯众以其深厚的技术积淀和专业实力,在物联网教育领域深耕多年,为培养新时代的技术人才贡献着自己的力量。近日,漳州技师学院物联网应用技术专业实训室建设项目的成功交付,再次证明了唯众在…

Java25年还有更多的工作岗位适合二本学生就业吗?

Java作为一种广泛使用的编程语言。尽管技术领域不断发展和变化,Java依然在许多行业中占据重要地位。以下是一些原因,刚好我有一些资料,是我根据网友给的问题精心整理了一份「JAVA的资料从专业入门到高级教程」, 点个关注在评论区…

权限传递,提取明文密码

一、cs与msf权限传递 创建foreign监听器-->msf监听模块设置端口-->cs执行新建会话选择创建的监听器 1.创建监听器: 2.msf监听设置端口: use exploit/multi/hander set payload windows/meterpreter/reverse_http set lport 4444 exploit 二、mi…

数据质量管理-一致性管理

前情提要 根据GB/T 36344-2018《信息技术 数据质量评价指标》的标准文档,当前数据质量评价指标框架中包含6评价指标,在实际的数据治理过程中,存在一个关联性指标。7个指标中存在4个定性指标,3个定量指标; 定性指标&am…

运维入门技术——监控的三个维度(非常详细)零基础收藏这一篇就够了_监控维度怎么区分

一个好的监控系统最后要做到的形态:实现Metrics、Tracing、Logging的融合。监控的三个维度也就是Metrics、Tracing、Logging。 Metrics Metrics也就是我们常说的指标。 首先它的典型特征就是可聚合(aggregatable).什么是可聚合的呢,简单讲可聚合就是一种基本单位可以在一种维…

Rust详解日志

详解日志 相比起监控,日志好理解的多:在某个时间点向指定的地方输出一条信息,里面记录着重要性、时间、地点和发生的事件,这就是日志。 注意,本文和 Rust 无关,我们争取从一个中立的角度去介绍何为日志 日…

防火墙GRE over IPSec配置

一、基础知识 1、GRE隧道 GRE隧道是一种网络通信协议,使用通用路由封装(GRE)技术,能够将一种网络协议下的数据报文封装在另一种网络协议中,从而实现在另一个网络层协议中的传输。 GRE隧道的基本概念和工作方式 基本…

Ubuntu磁盘分区和挂载 虚拟机扩容 逻辑卷的创建和扩容保姆及教程

目录 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 2、Linux的磁盘分区和挂载 3、创建逻辑卷和逻辑卷的扩容 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 通过下图可以看出我们的根磁盘一共有20G的大小,现在我们把它扩容为30G 注:如果你的虚拟机有快照是无…