我遇到这个问题了,已经解决:
1.问题是因为你用的是launch_path指向的是远程http地址,不是本地的
- 那么,远程一个index.html中的img的src,肯定是不允许file://协议访问本地的
- 如果是指向本机html,就ok了
4.如果是1这种,解决方式如下:
思路就是有本地文件路径,就通过其他方式获取图片的base64,然后给src赋值base64,可能base64太大,可以先压缩后再取base64,核心代码如下:
// 压缩到合适大小
window.plus.zip.compressImage(
{
src: localUrl,
dst: _doc/temp.jpg
,
overwrite: true,
quality: 50,
height: '300px'
},
zip => {
// 读取被压缩后的文件
window.plus.io.resolveLocalFileSystemURL(zip.target, entry => {
entry.file(file => {
const reader = new window.plus.io.FileReader()
// 读取base64
reader.readAsDataURL(file)
reader.onloadend = function(e) {
file.close()
entry.remove()
resolve(e.target.result)
}
})
})
},
() => {
resolve(null)
}
)
6 个回复
lerit666
我遇到这个问题了,已经解决:
1.问题是因为你用的是launch_path指向的是远程http地址,不是本地的
4.如果是1这种,解决方式如下:
思路就是有本地文件路径,就通过其他方式获取图片的base64,然后给src赋值base64,可能base64太大,可以先压缩后再取base64,核心代码如下:
// 压缩到合适大小
window.plus.zip.compressImage(
{
src: localUrl,
dst:
_doc/temp.jpg
,overwrite: true,
quality: 50,
height: '300px'
},
zip => {
// 读取被压缩后的文件
window.plus.io.resolveLocalFileSystemURL(zip.target, entry => {
entry.file(file => {
const reader = new window.plus.io.FileReader()
// 读取base64
reader.readAsDataURL(file)
reader.onloadend = function(e) {
file.close()
entry.remove()
resolve(e.target.result)
}
})
})
},
() => {
resolve(null)
}
)
1***@qq.com
请问这个问题解决了吗?我遇到的问题和你的一模一样,网上基本上搜索不到相应的解决办法。
2***@qq.com
我也遇到这个问题了,请问解决了吗?
x***@163.com
upload 上传图片 可是 无法渲染到页面上 本地路径已经获取了 但是结果也没有展示出图片
指尖上的代码
我最近也遇到了这个问题。。
全栈工程师 - 精通mui、uniapp,承接相关项目外包,解决各种疑难问题。有任何问题可以随时联系,QQ:419761282
这个问题很好处理