Je perdre 2023-06-02 07:06 采纳率: 50%
浏览 705
已结题

解决真机wxfile与开发工具http://tmp/获取路径不同的问题

微信开发工具。实现二维码图片自定义名称保存到手机相册。在开发工具上已经实现但是由于真机上获取到的图片路径是wxfile://.但是开发者工具上是获取的http://tem。在wx.arrayBufferToBase64停用的现在,想知道什么办法可以实现这个操作。

img

img

  • 写回答

7条回答 默认 最新

  • coderYYY 新星创作者: 前端开发技术领域 2023-06-06 14:43
    关注
    获得2.55元问题酬金

    在微信小程序中,使用wxfile和开发工具中的http://tmp/获取的文件路径可能会不同,这是因为wxfile获取到的是本地的存储路径,而开发工具中的http://tmp/获取的是开发工具的暂存路径。

    为了解决这个问题,您可以判断当前是否在开发工具中运行,如果是,则使用http://tmp/路径,否则则使用wxfile获取本地存储路径。代码示例如下:

    // 判断当前是否是开发工具环境
    const isDevTool = wx.getSystemInfoSync().platform === 'devtools';
    
    let filePath;
    if (isDevTool) {
      // 使用开发工具中的路径
      filePath = 'http://tmp/example.txt';
    } else {
      // 使用本地存储路径
      filePath = wx.env.USER_DATA_PATH + '/example.txt';
    }
    
    // 执行读取文件操作
    wx.readFile({
      filePath: filePath,
      success: function(res) {
        console.log(res.data);
      }
    });
    

    注意,在使用http://tmp/路径时,您需要确保文件已经被下载并保存到了开发工具的暂存路径中。如果您使用的是网络请求获取文件,可以使用wx.downloadFile下载并保存文件之后再使用http://tmp/路径进行访问。

    评论

报告相同问题?

问题事件

  • 系统已结题 6月10日
  • 创建了问题 6月2日