需求:app端 ios 需要实现附件上传功能
于是我就去百度,翻到了一款叫 lsj-upload插件
安卓端用插件没有任何问题,轻松解决附件上传的问题。
后来真机运行ios,点击选择附件,没有任何弹窗,进入源码查看try catch也没有任何报错。这事整了好几天无果。
后来选择1.0的版本,选择附件
弹窗出来了,但是ios上传失败了,网络请求显示no content,原来是ios有限制,
如图
也就是说ios读取本地文件存在跨域。
ios读取本地文件存在跨域(没有解决)
后来,把测试手机的ios11.0.1升级了,2.0版本的插件选择附件的弹窗成功可以
调用接口:
成功升级选择文件之后,接下来就是调用接口,通过抓包工具发现:文章来源:https://www.toymoban.com/news/detail-425466.html
request
OPTIONS /api/adminFile/upload HTTP/1.1
Host: 127.0.0.1:88
Origin: null
Access-Control-Request-Method: POST
Connection: close
Access-Control-Request-Headers: admin-token
Accept: */*
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_7_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/20) uni-app
Accept-Language: zh-CN,zh-Hans;q=0.9
Accept-Encoding: gzip, deflate
Content-Length: 0
response
HTTP/1.1 200 OK
Server: nginx/1.17.9
Date: Thu, 12 Jan 2023 06:01:36 GMT
Content-Length: 0
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: *
Access-Control-Max-Age: 18000L
Access-Control-Allow-Headers: *
Access-Control-Expose-Headers: *
Access-Control-Allow-Credentials: true
request里面出现了OPTIONS后面去网上了解了一下OPTIONS,发现还是不同,最后当后端接口全开放,这时候就通了,先走了一遍OPTIONS,然后走POST请求。最后让后端单独对这个接口做了开放文章来源地址https://www.toymoban.com/news/detail-425466.html
到了这里,关于uniapp app端 ios 安卓 附件上传踩得坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!