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


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


关注在微信小程序中,使用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/路径进行访问。