jkyisme 2020-03-27 20:38 采纳率: 0%
浏览 384

微信小程序和本地uploadFile报错

在这里的res无法得到正常的消息

 success:res=>{
                  wx.uploadFile({
                    url: 'http://127.0.0.1:5000/',
                    filePath: res.tempFilePath,
                    name: 'file',
                    success: function (res) {                      
                                  var data = res.data 
                                  console.log(data+"DDDDDD")                     
                                  console.log('上传成功...')          
                                }

报的错误图片说明

因为是做设计 所以没有买服务器和证书,我勾选了不检查域名了。而且flask端可以正确接收到图片,也可以进行正常操作。就是这最后一步无法实现,求大神帮助!

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-25 17:00
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 根据报错信息看,是由于请求http接口时被浏览器或小程序拦截所致。因为现代浏览器和小程序默认会对非https的请求进行安全限制,因此你的请求被阻止了。做设计时可以遵循最佳实践,使用https请求。 解决方法:
    1. 为你的接口配置SSL证书,使其支持https请求。
    2. 如果暂时无法配置SSL证书,可以尝试在小程序中设置不校验合法域名,或者在开发工具中开启不校验证书选项。但这并不是一个好的解决方案,不建议在正式发布时使用这种方式。 案例:
    wx.uploadFile({
      url: 'https://127.0.0.1:5000/',
      filePath: res.tempFilePath,
      name: 'file',
      success: function(res) {
        var data = res.data;
        console.log(data + "DDDDDD");
        console.log('上传成功...');
      }
    });
    

    这里的url改为https请求方式,如果配置了SSL证书,则应该可以成功传输数据。 补充:如果确实无法配置SSL证书,且需要在开发或测试阶段进行调试,可以参考以下方法(请慎用): 1. 开发工具中开启不校验证书选项。 2. 在小程序中设置不校验合法域名(需要在开发者工具中进行设置)。 但需要注意的是,这种方式并不建议在正式发布时使用,因为会存在安全风险。最好的方式还是为接口配置SSL证书,保证数据传输的安全性。

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵