uniapp在开发app时上传文件时的问题记录

 更新时间:2024年09月13日 09:20:43   作者:BUG创建者  
在开发uniapp应用时,可能会遇到文件上传功能在iOS和部分Android手机上不兼容的问题,经过对比分析,发现问题可能出在文件的路径上,通过使用uni.saveFile方法保存文件后,再上传可以解决问题,这篇文章详细介绍了解决方案,并引导读者参考更多相关内容

手机拍照然后上传没问题 但是在相册中选择的照片上传 ios手机不行 安卓一部分手机也点击没反应
最后对比了下参数 发现路径有所不同
使用uni.saveFile保存路径好在重新上传

  saveFileSync(tempFilePath){
   return new Promise((resolve, reject) => {
     uni.saveFile({
       tempFilePath,
       success: function (file) {
         resolve(file.savedFilePath)
       },
       fail: function (error) {
         reject(error)
       }
     })
   })
 },
    uni.chooseImage({
        count: 1, //默认9
        sizeType: ["compressed"], //可以指定是原图还是压缩图,默认二者都
        sourceType: ['camera','album'], 
         success: async function(result) {
          let ewm = result.tempFiles[0]
          const path = await that.saveFileSync(ewm.path)
          if (result.errMsg === "chooseImage:ok") {
            result.tempFiles[0].path=path
            // that.upload(path);
            that.upload(result.tempFiles[0]);
          } else {
            uni.showToast({
              title: "图片上传失败",
              icon: "none",
            });
          }
        },
        fail(err) {
          uni.showToast({
            title: "取消上传",
            icon: "none",
          });
        },
      });
Upload(event) {
      const token = this.getToken();
      // const url = this.getuploadUrl();
      const imgList = [];
      uni.showLoading({
        title: "上传中...",
        mask: true,
      });
      try {
        const [err, res] = await uni.uploadFile({
          url: `${HOST}/resource/file/upload`,
          filePath: event.path,
          name: "file",
          header: {
            Authorization: token,
          },
        });
        if (res && (res.statusCode === 200)) {
          const result = JSON.parse(res.data);
          if (result.code == 200) {
            let res1 = JSON.parse(res.data);
              res1.data.uuid = res1.data.id;
              res1.data.paramskey = event.name;
              imgList.push(res1.data);
              const list = [...this.list, ...imgList];
              this.$emit("value", list);
              this.$emit("change", list);
              this.$emit("upload", imgList);
          } else {
            wx.showToast({
              icon: "none",
              title: result.msg,
            });
          }
        } else {
          wx.showToast({
            icon: "error",
            title: "上传失败",
          });
        }
      } catch (error) {
        console.log(error)
      }
      uni.hideLoading();
      this.$emit("upload", imgList);
    },

到此这篇关于uniapp在开发app时上传文件时的问题的文章就介绍到这了,更多相关uniapp上传文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript多态与封装实例分析

    JavaScript多态与封装实例分析

    这篇文章主要介绍了JavaScript多态与封装,结合实例形式分析了JavaScript多态与封装的概念、功能、优缺点以及相关问题与注意事项,需要的朋友可以参考下
    2018-07-07
  • 基于MooTools的很有创意的滚动条时钟动画

    基于MooTools的很有创意的滚动条时钟动画

    一款很有创意的时钟js动画.是利用系统滚动条来构成一个 时:分:秒 的盘. 再利用滚动条的长度变化做过渡动画.
    2010-11-11
  • js调试系列 初识控制台

    js调试系列 初识控制台

    这篇文章的目的只是让你认识控制台,让你入门调试js,之后的路还得靠你们自己走
    2014-06-06
  • 微信小程序navigator跳转及参数传递的方法

    微信小程序navigator跳转及参数传递的方法

    这篇文章主要介绍了微信小程序navigator跳转及参数传递,在navigator中添加需要跳转的路径,如果需要带参,则在路径后面添加所要传递的参数以及值,需要的朋友可以参考下
    2023-11-11
  • IE6已终止操作问题的2种情况及解决

    IE6已终止操作问题的2种情况及解决

    打开某个页面时,弹出提示框“Internet Explorer无法打开Internet 站,经过一番奋战,利用排除法解决了问题,共发现2种情况
    2014-04-04
  • 来访统计

    来访统计

    来访统计...
    2006-11-11
  • JavaScript如何判断对象有某属性

    JavaScript如何判断对象有某属性

    这篇文章主要介绍了JavaScript如何判断对象有某属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • JavaScript函数式编程(Functional Programming)纯函数用法分析

    JavaScript函数式编程(Functional Programming)纯函数用法分析

    这篇文章主要介绍了JavaScript函数式编程(Functional Programming)纯函数用法,结合实例形式分析了javascript函数式编程中纯函数的函数依赖、所指透明等概念相关原理及使用技巧,需要的朋友可以参考下
    2019-05-05
  • 3分钟掌握常用的JS操作JSON方法总结

    3分钟掌握常用的JS操作JSON方法总结

    工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是JSON,所以这里把常用的JS操作JSON的方法做了总结
    2017-04-04
  • JavaScript css3实现简单视频弹幕功能

    JavaScript css3实现简单视频弹幕功能

    这篇文章主要为大家详细介绍了JavaScript css3实现简单视频弹幕功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论