应用插件 版主:官方插件技术组
上传文件求解,通过接口上传文件一直返回找不到临时文件
类型:迅睿CMS 更新时间:2020-11-26 15:37:01

上传文件求解,通过接口上传文件一直返回找不到临时文件,下面是代码麻烦懂的人指点下

image

下面是上传的代码

uni.chooseImage({
        count: checkNumber,
  sizeType: ['compressed'],
        sourceType: ['album', 'camera'],
        success: res => {
   uni.uploadFile({
    url: "https://www.xxx.com/index.php?appid=1&appsecret=PHPCMFBE6FEA7FE7AD3&api_auth_code=14649082d40a176d42d9870927d66dce&api_auth_uid=7&s=api&c=file&m=upload&fid=97&siteid=1",
    filePath:res.tempFilePaths[0],
    name:'file_data',
    formData: {
      is_ajax:1
    },
    header: {
     'Content-Type': 'application/x-www-form-urlencoded',
    },
    success: function(res2){
      var ret = JSON.parse(res2.data);
      console.log(ret);
    }
   })
        }
      })


回帖
  • 易学习
    #1楼    易学习
    2020-07-29 23:45:07
    Chrome 0
    'Content-Type': 'application/x-www-form-urlencoded',
    错了吧改成
    'Content-Type': 'multipart/form-data',
    uni-app我是专家
  • 华仔
    #2楼    华仔
    2020-07-29 23:50:32
    Chrome 0
    易学习 改了还是不行,你看下
    6d4ba1985003cdd7543d8611db47343
    满意答案
  • 华仔
    #3楼    华仔
    2020-07-29 23:52:32
    Chrome 0
    易学习 一直提示这个,请指点下啊
    image
  • 菠菜
    #4楼    菠菜
    2020-07-29 23:52:35
    Chrome 0
    我觉得你应该在uni-app论坛去问问
  • 易学习
    #5楼    易学习
    2020-07-29 23:55:06
    Chrome 0
    还有可能是你这个值的问题
    res.tempFilePaths[0]
    你输出一下在控制台显示什么?
  • 华仔
    #6楼    华仔
    2020-07-29 23:57:02
    Chrome 0
    易学习 显示的 blob:http://localhost:8080/c984ac19-8c98-490f-bbe4-0d6c6a62ac03
  • 易学习
    #7楼    易学习
    2020-07-29 23:59:16
    Chrome 0
    排除法吧,先试试绝对路径
    filePath: "C:\\aaa.jpg",
  • 易学习
    #8楼    易学习
    2020-07-30 00:24:20
    Chrome 0
    如何呢?
  • 华仔
    #9楼    华仔
    2020-07-30 00:25:18
    Chrome 0
    易学习
    image
    这样写的,好像上传没要反应
  • 易学习
    #10楼    易学习
    2020-07-30 00:27:03
    Chrome 0
    C:/aaa.jpg
    这样呢,应该是路径没对,要确保这个文件存在的呢,反正我用uni写的上传没问题的
  • 华仔
    #11楼    华仔
    2020-07-30 00:33:52
    Chrome 0
    易学习 好的,我在试下,另外你写的上传代码我发个30红包加悬赏(设置悬赏)金额能不能分享下呀
  • 华仔
    #12楼    华仔
    2020-07-30 00:42:27
    Chrome 0
    易学习 就是想对比下你接口然后参考下看我这到底问题出在哪里了
  • 易学习
    #13楼    易学习
    2020-07-30 00:42:34
    Chrome 0
    你要找原因啊,如果写死路径可以已上传成功的话,就说明你传入的变量存在问题,一步步排查很容易找到原因;如果写死路径都上传不了的话可以换一种方法排查
  • 华仔
    #14楼    华仔
    2020-07-30 00:43:41
    Chrome 0
    易学习 主要是写死路径后上传没反应,文件路径也没错
  • 华仔
    #15楼    华仔
    2020-07-30 00:44:36
    Chrome 0
    易学习 换哪种方式排查呀
  • 易学习
    #16楼    易学习
    2020-07-30 00:50:11
    Chrome 0

    image
    我是这么写的,换了一种变量赋值写法你写死路径都点了没反应,我怀疑是路径写法可能不对,你可以查查uni文档
  • 华仔
    #17楼    华仔
    2020-07-30 00:51:55
    Chrome 0
    易学习 好,我试下看
  • 华仔
    #18楼    华仔
    2020-07-30 00:55:00
    Chrome 0
    易学习 你res.tempFilePaths[0] 你里面返回的是什么呀!我好想找到思路了,需要对比下就可以了
  • 易学习
    #19楼    易学习
    2020-07-30 01:00:01
    Chrome 0
    console.log(res.tempFilePaths) 输出一下呗
  • 易学习
    #20楼    易学习
    2020-07-30 01:02:33
    Chrome 0
    uni.chooseImage({
        success: (chooseImageRes) => {
            const tempFilePaths = chooseImageRes.tempFilePaths; // 这行这行这行
            uni.uploadFile({
                url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
                filePath: tempFilePaths[0], // 这行这行这行
                name: 'file',
                formData: {
                    'user': 'test'
                },
                success: (uploadFileRes) => {
                    console.log(uploadFileRes.data);
                }
            });
        }});
    官方文档是这么写的吧,多看官方文档,或者干脆去uni论坛提问看看
  • 华仔
    #21楼    华仔
    2020-07-30 01:02:45
    Chrome 0
    易学习 我返回的是["blob:http://localhost:8080/cdb47e63-cf7c-4d44-aed1-984e7b1aa010"],你那边res.tempFilePaths[0] 返回的值是什么呀!我觉得我这个返回的不对所以想和你的对比下
  • 华仔
    #22楼    华仔
    2020-11-26 15:37:01
    Chrome 0
    @华仔:非常感谢