栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

uniapp如何上传文件file格式到服务器

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

uniapp如何上传文件file格式到服务器

前言:使用uniapp开发混合app时碰到后台需要发送multipart/form-data请求(传文件file对象),但uni.request发送form-data请求无效(uni.request无法发送文件file对象),而且uniapp不支持 new FormData,会报错:TypeError: Cannot read property 'indexOf' of undefined,因此可以使用html5+ api中的Uploader模块来解决 

报错如以下:

 解决方法(注:只能用于app):

1 先创建一个上传文件的任务

let uploadFileTask = plus.uploader.createUpload(
				"服务器接口地址", {
					method: "POST",
					headers: {
                        // 修改请求头Content-Type类型 此类型为文件上传
						"Content-Type": "multipart/form-data"
					}
				},
                // data:服务器返回的响应值 status: 网络请求状态码
				(data, status) => {
					// 请求上传文件成功
					if (status == 200) {

                        // 获取data.responseText之后根据自己的业务逻辑做处理
						let result = data.responseText;
						
					}
					// 请求上传文件失败
					else {
						console.log("上传失败", status)
					}
				}
			);

 2 添加需要上传的文件数据以及其他的数据

	        // 添加图片 
            //app本地资源路径 例子:        
            //例:_doc/uniapp_temp_1640249372415/compressed/1640250508080_photo_002.jpg
			
            uploadFileTask.addFile('app本地资源路径', {
				key: "字段名" // 填入图片文件对应的字段名
			});
            
             //添加其他表单字段(参数) 两个参数可能都只支持传字符串
             uploadFileTask.addData("参数名",参数值);


3 调取上传方法 开始上传 

  // 开始上传
  uploadFileTask.start();


上传到服务器的数据类似于formData提交的格式 如此图

file文件是通过uploadFileTask.addFile添加 其他参数都是uploadFileTask.addData添加

h5+还有很多操作方法详情可查看HTML5+ API Reference

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号