uniapp开发App上传formData文件

这篇具有很好参考价值的文章主要介绍了uniapp开发App上传formData文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

在uniapp+vue3+APP中上传文件

问题描述

在uniapp中上传文件(FormData)发现uni.request不支持FormData
uniapp上传formdata,Vue3,uni-app,javascript,前端

  const formData = new FormData()
        formData.append('avatarfile', data)

原因分析:

uni.request 请求发送格式Object|String|ArrayBuffer三种格式


解决方案:

uniapp也给了解决办法uni.uploadFile(OBJECT)
uniapp上传formdata,Vue3,uni-app,javascript,前端
filePath是图片文件路径
name是FormData字段(avatarfile)
formData是file文件数据

这里就不使用FormData

  const formData = new FormData()
        formData.append('avatarfile', data)

这里借用chooseImage获取tempFilePathstempFiles文章来源地址https://www.toymoban.com/news/detail-517022.html

uni.chooseImage({
		count: 1, //默认9
		sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
		sourceType: ['album', 'camera'], //从相册选择
		success: function(res) {
			const uploadTask = uni.uploadFile({
				url: action,
				filePath: res.tempFilePaths[0],
				name: 'avatarfile', // 在FormData 中文件对应的属性名
				formData: res.tempFiles[0], // 除文件外其他所有数据,传对象,会默认转换为 FormData
				header: uploadHeader,
				success: res => {
					if (parseInt(res.data.code) === 200) {
						toast.value.show({
							title: '修改成功!',
							type: 'success',
							position: 'top'
						});
						userStore.GetInfo();
					} else {
						toast.value.show({
							title: '修改失败!',
							type: 'error',
							position: 'top'
						});
					}
				}
			});
		}
	});

到了这里,关于uniapp开发App上传formData文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 使用Vue + FormData + axios实现图片上传功能实战

    前言 上节回顾 上一小节中,我们添加了 Vue-router 的路有数据,这些数据都将是后续实战课程中的真实路由数据了。同时引入了 ElementUI 的 el-menu 做为左侧菜单的组件,但本专栏的特点就是遇到第三方功能和组件,自己尽量也要实现一遍,所以,在文章末尾又自己实现了一个

    2024年02月09日
    浏览(40)
  • 13 使用Vue + FormData + axios实现图片上传功能实战

    前言 上节回顾 上一小节中,我们添加了 Vue-router 的路有数据,这些数据都将是后续实战课程中的真实路由数据了。同时引入了 ElementUI 的 el-menu 做为左侧菜单的组件,但本专栏的特点就是遇到第三方功能和组件,自己尽量也要实现一遍,所以,在文章末尾又自己实现了一个

    2024年02月16日
    浏览(36)
  • 前端--文件上传--文件切片--利用FileReader()中的readAsDataURL()做缩略图--多文件上传--formData--切片上传实现

    可以把File 类型 转换为 Blob 类型,因为 File 是Blob的子类 Blob是不可修改也是无法读取里面的内容的。但是Filereader就提供了读取Blob里面内容的方法。 1.做缩略图用readAsDataURL 给图片显示一下 可以利用切片来实现上传半张图片的效果 2. 也可以做文本预览(利用readAsText)方式和上

    2023年04月20日
    浏览(61)
  • 小程序FormData格式传参(上传图片,删除图片)

          微信小程序开发需要选择本地照片file连同一些表单数据,通过接口发送给服务器,小程序上传图片可以用微信自带的wx.uploadFile方法去传(自带FormData)        wx.uploadFile这个只能一张一张的上传,所以上传图片如果是需要批量的,需要循环调用接口

    2024年02月12日
    浏览(39)
  • element上传图片,调取接口传值,参数FormData为空

    输入完reason,选完文件后,点击提交按钮后 调取接口。 上传文件 orderFile 字段一直为空 打印了发现,上传文件也是有值得。但是传到接口中就为空 json 里边不能放 file ,但是 formData 里可以放 file 也可以放 json 应该说是 formData 里可以放任何你需要提交的东西 所以 修改后将需

    2024年02月11日
    浏览(42)
  • uniapp发送formdata表单请求(全网最简单方法)

    因为uniapp不支持直接传输formdata,只提供了uploadFile方法上传文件,但是利用该方法就可以传输formdata了。 可以直接使用filePath属性进行空文件传输,只需要设置filePath为空就行了。 调用时,data是个对象即可。 使用file属性,无需选择文件,我们自己new个文件即可。 1、封装的上

    2024年02月12日
    浏览(40)
  • formData手动上传问题前端如何传递后端如何接收

    参考文章: 解决Current request is not a multipart request axios上传文件错误:Current request is not a multipart reques 之前使用el-upload使用默认action表单提交.前端默认content-type为multipart/form-data.没有问题. 后期渐进式优化.修改为axios+formdata传递内容. Current request is not a multipart request 这个错误是因

    2024年02月03日
    浏览(45)
  • file.raw和file在formdata中上传时遇到的坑!!

    首先是这样,我在写一个表单上传页面的时候,结合elementeplus遇到了需要上传图片文件和视频文件的情况,一顿上网猛搜,经过一二十篇博客浏览下来,找到了三四篇可以参考,但是对于到底是上传file还是file.raw说法不一,于是我去查了FormData、file、file.raw、blob的文档,弄清

    2024年02月14日
    浏览(38)
  • 微信小程序post传递参数为formData格式,一般是在上传图片时需要的

    wx.uploadFile传参的格式本身就是formData格式的,参照官网就可以 如果是wx.request的需要formData格式,如下图data的格式

    2024年02月13日
    浏览(52)
  • 【element-UI】el-upload本地上传图片,点击表单提交和一起上传,使用formdata对象上传

    需求效果如下图: 因为后端要求图片需要和其他参数一起提交,使用formdata对象携带参数,通过设置el-upload中action参数值为#,以及auto-upload(是否在选取文件后立即进行上传)为false 接口api

    2024年02月12日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包