首页 > 其他分享 >uniapp上传文件在iOS端上传之后后端接收为空问题

uniapp上传文件在iOS端上传之后后端接收为空问题

时间:2022-09-24 13:33:42浏览次数:57  
标签:uniapp console author hehe iOS res uni 上传

在做uniapp上传图片给后台时,参考了:https://www.10qianwan.com/articledetail/767914.html

在h5,安卓上都没问题。但是iOS上上传之后,后台接受一直为空。一直找不到解决办法,于是自己写了一个简单的springboot项目,用uni.uploadFile上传,发现了问题所在。

这是我的springboot项目controller中写给前端的接口代码

@PostMapping("/profilePhotoUpload")
    public String profilePhotoUpload(@RequestParam("hehe") MultipartFile fileUpload, @RequestParam("author") String autherName){

}

 

注意这里的意思:后端的意思是根据"hehe"这个key获取到文件,根据"author"这个key获取到请求的接口参数。这一点很重要!!!

这是我前端的代码:

upLoadBtnClick(){
                let _this = this
                uni.chooseImage({
                    count: 1, // 选择数量限制
                    sizeType: ['compressed'], // 原图、压缩图
                    sourceType: ['album', 'camera'], // 相册、拍照选择
                    success: async (res) => {
                        console.log(res);
                        //TODO:上传文件结果要path 和 文件内容 两个参数
                        //h5选择出来是:blob:http://localhost:7777/41b40b92-bc73-4f77-b2da-fa77e386d34c
                        let tempFilePathsArr = res.tempFilePaths
                        _this.avatorUrl = tempFilePathsArr[0]
                        _this.avatorFile = res.tempFiles[0]
                        
                        uni.showLoading({
                            title:'上传中'
                        })
                        uni.uploadFile({
                                    url: 'http://127.0.0.1:8090/profilePhotoUpload', //仅为示例,非真实的接口地址
                                    
                                    filePath: tempFilePathsArr[0],
                                    name: 'hehe',
                                    file:res.tempFiles[0],
                                    formData:{
                                        'author': "哥哥",
                                        
                                    },
                                    header: {
                                        "content-type": "multipart/form-data"
                                        // 'content-type':'application/x-www-form-urlencoded'
                                    },
                                    success: (uploadFileRes) => {
                                        uni.hideLoading()
                                        console.log("uploadFileRes=====");
                                        console.log(uploadFileRes.data);
                                    },
                                    fail: (err) =>  {
                                        uni.hideLoading()
                                        console.log(err);
                                    }
                                });
                        
                    },
                    complete() {
                        console.log("complete");
                    }
formData:{
        'author': "哥哥",
        'hehe':res.tempFiles[0]
},

 

}) },

 

看到了吗?我指定了文件对象+其他接口参数

name: 'hehe',
file:res.tempFiles[0],

 

formData:{
      'author': "哥哥",
                                        
 },

 

我并没有把文件对象放在其他接口参数中。也就是我并没有写成这样:

 

formData:{
	'author': "哥哥",
	'hehe':res.tempFiles[0]
},

 

这样写是无法请求发送给后端的,反正我在iOS 设备上是发送不了的。

解决!!!

 

我的这个方法不一定完全正确,只是记录一下自己的解决办法,希望看到的同行根据自己需要修改问题。谢谢!

标签:uniapp,console,author,hehe,iOS,res,uni,上传
From: https://www.cnblogs.com/liuw-flexi/p/16725489.html

相关文章

  • uniapp App端 实现pdf文件预览
    一、直接使用插件市场的PDF插件刚开始还是在浏览器上测试的,完全没问题,可是打包安装之后就不行了,PDF显示不出来,其他的文件可以显示,比如Word文档,然后客户必须要PDF,所以这就......
  • [电容教程] 将 react app 转为 Android/ios app
    [电容教程]将reactapp转为Android/iosapp什么是电容器?电容器是一个跨平台的应用程序运行时,可以轻松构建在iOS、Android和Web上原生运行的Web应用程序。我们......
  • uniapp中webview全屏不显示导航栏解决方案
    https://www.jianshu.com/p/9a703d21ca81https://www.cnblogs.com/newBugs/p/15905364.htmlhttps://blog.csdn.net/Xc_Wl/article/details/124858496......
  • iOS NSBundle读取本地文件细节
    拖入文件夹到工程时,勾选CreateGroups时Xcode文件夹显示为默认颜色,默认文件夹下的文件都会添加到当前target下的bundle里,所以文件将不具备真实目录的结构,直接读取文......
  • uniapp 中 setTimeout 没有生效、报错问题
    我在uniapp中使用setTimeout时,直接就使用this来赋值和调用函数,如下: 结果报错(也是报的这个错误才找出了原因) 后面才发现是this指向问题改成 问题就解决......
  • 【电脑问题】开机自动进入BIOS,按下Ctrl+ALt+Del键可以正常进入系统
    问题描述:开机自动进入BIOS,按下Ctrl+ALt+Del键可以正常进入系统Ctrl+Alt+Del作用:立即终结电脑的异常状态,包括宕机按法①:三个键一起按按法②:先按住Ctrl和Alt,再按Del必......
  • 上传本地仓库到远端仓库
    上传本地仓库到远端仓库操作步骤:1.在本地新建一个仓库2.在远端新建一个仓库首先注册一个gitee的账号:此处已经注册好,注册的过程十分简单此处已经跳过,此次不展......
  • centos部署Django二:项目上传及测试
     1.上传项目用ftp或者sftp上传项目到服务器。*:如果上传时,报各种错误,可以考虑下是不是服务器中文件夹权限的问题。如果是权限的问题,可以使用命令修改文件......
  • Spring Boot 2.x基础教程:实现文件上传
    文件上传的功能实现是我们做Web应用时候最为常见的应用场景,比如:实现头像的上传,Excel文件数据的导入等功能,都需要我们先实现文件的上传,然后再做图片的裁剪,excel数据的解析入......
  • iOS技巧:移除/添加导航栏黑边(iOS13适配)
    “我正在参加《掘金·帆船计划》”介绍背景:移除导航栏下方的黑色边框在iOS15中不起作用原因:必须使用iOS13之后的APIUINavigationBar外观设置生效UIKIT_EXTERNAPI_A......