wx.previewFile({
url: '', // 需要预览文件的地址(必填,可以使用相对路径)
name: '', // 需要预览文件的文件名,必须有带文件格式的后缀,例如.doc(不填的话取url的最后部分,最后部分是个包含格式后缀的文件名)
size: 1048576 // 需要预览文件的字节大小(必填,而且大小必须正确,否则会打开失败)
});
参数url设置为服务器中静态文件地址(http开头),能下载和打开。但是从后台读取文件流,生成的内存URL(blob开头)会一直停在下载页面,始终保持0kb
前端代码片段如下
preview (file) {
let url = null;
if (window.createObjectURL != undefined) { // basic
url = window.createObjectURL(file);
} else if (window.webkitURL != undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file);
} else if (window.URL != undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file);
}
wx.invoke(
'previewFile',
{
url: url,
name: file.name,
size: file.size
}
)
}
你好,需要确保的是url是可以在外网访问到才行的