uniapp的uni.uploader上传api在安卓端正常,ios不正常?
部分代码
var header = { "sign": signMD5, "Authorization": token, "nonce": nocer, "deviceId": systemInfo.deviceId, "deviceName": systemInfo.model, "deviceType": "2", "appVersion": "1.0.0", "timestamp": timestamp, // 时间:年月日时分秒 // "Content-Type": "multipart/form-data", // "Content-Type": "application/json;charset=UTF-8" } // let addressInfo = uni.getStorageSync('locationInfo') // let addressLoaction = addressInfo.address.province + addressInfo.address.city + addressInfo.address // .district + addressInfo.address.street + addressInfo.address.streetNum let uploadUrl = "" if (this.openWatermark) { uploadUrl = config.baseUrl + 'upload4base64' } else { uploadUrl = config.baseUrl + 'common/upload' } return new Promise((resolve, reject) => { console.log(lists[i].thumb, 'lists'); let a = uni.uploadFile({ url: uploadUrl, filePath: lists[i].thumb, name: 'file', formData: { user: 'test', address: '123', lng: 112.23, lat: 11.22, // address: addressLoaction, // lng: addressInfo.longitude, // lat: addressInfo.latitude, realname: this.userInfo.trueName, file: lists[i].thumb }, header: header, success: (res => { console.log(res); setTimeout(() => { var data = JSON.parse(res.data) let item = this[`fileList${event.name}`][ fileListLen ] this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, { status: 'success', message: '', url: data.url })) fileListLen++ this.dataForm.checkImgs = this.fileList3.map( item => item.url).join(',') resolve(data) this.uploadFileLoading = false }, 1000) }) }); })
formData的参数在安卓上调用时,后端可以全部接收,而在ios上后端接收到的file参数为null
求大佬解答哦?
这个问题可能是由于iOS和Android在处理文件上传时,对multipart/form-data格式的数据的处理方式不同。在Android上,uni.uploader可能能够正确地将文件附加到formData中并发送到服务器。然而,在iOS上,可能存在某些限制或处理方式的不同,导致文件无法正确附加或发送。
首先,你可以尝试以下几种解决方法:
如果以上方法都不能解决问题,你可能需要深入调查问题的原因。你可以尝试在iOS和Android设备上使用开发者工具(如Chrome DevTools或Safari Web Inspector)来查看网络请求和响应,看看是否有任何明显的不同。此外,你也可以尝试在iOS设备上使用其他文件上传库,看看是否能够正常工作。这些信息可能会帮助你更好地理解问题的原因,并找到解决方案。
图片可以正常下载 本地可以打开 但是进行上传就无法显示 我直接将url地址写死 放在img标签中也无法显示,转base64,blob依旧无法显示,因为是基于饿了么plus 做的封装 在饿了么的官网进行图片上传发现依旧无法正常显示 两张图片都是3M左右,唯一的区别可能就是一个是华为手机拍的 一个是oppo find x7拍的 oppo find x7的无法正常显示
我有这样一个数组,里面每一项都是对象{id:xxx,attributes{xxx}},如果dataIndex是最外层的id,点编辑后可以正常显示,如果是attributs里面的某一项,就会变成[object Object],在proComponents官方demo里面也是这样的,除了自己写一个以外,有没有什么办法让它正常回显呢?
我想在非默认端口上运行Jenkins,所以我修改了Jenkins。如下所示的xml: 它从一开始就可以正常工作http://servername:1010(而不是来自http://servername:8080)但是API(http://servername:1010/api/json?depth=1)仍然报告端口8080上作业的路径。(即“url”:http://servername:8080/
我在pod上部署了SAS Viya编程。这使SASStudio在端口80上运行。我正在尝试通过下面的yaml文件使用nodeport和Inete公开SAS Studio。但在GCP控制台中,后端服务显示不健康,如果我尝试访问Ip,它会遇到默认后端或找不到页面。我可以使用集群IP和节点IP以及端口号访问服务。 如果我使用LoadBalancer服务而不是入口,那么我可以使用LoadBalancer
问题内容: 我正在使用codeigniter 3.1。我想使用ajax发布上传数据。 Ajax上传文件不起作用。但是,当我发布不带ajax的简单表单时,它工作正常。 我不知道为什么,但控制台没有错误。 的HTML JAVASCRIPT 控制器 问题答案: 问题之一是文件上传使用的机制与其他表单类型不同。这就是为什么没有为您完成工作的原因。其他答案建议使用javascript,而这个答案也可以。 的