1.uni.openDocument点击提示类型错误无法打开
支持的类型:
2.url为pdf依旧无法打开,原因是tempFilePath返回的后缀为 .bin
3.只需要加个fileType属性即可
4.完整代码
hanldePreview(url) {
let index = url.lastIndexOf('.');
let fileType = url.substring(index + 1, url.length);
let white_filetype = ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf']
let white_image = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'ico', 'wbmp', 'fax', 'net', 'rp', 'jfif', 'jpe',
'tiff', 'tif'
]
let white_media = ['mp3', 'wav', 'flac', 'aac', 'mp4', 'avi', 'wmv', 'mov', 'flv']
uni.downloadFile({
url: url,
success: function(res) {
var filePath = res.tempFilePath;
console.log('filePath',filePath)
if (white_filetype.indexOf(fileType) != -1) {
console.log(123121312)
uni.openDocument({
filePath: filePath,
showMenu: true,
fileType:fileType,
success: function(res) {
console.log('打开文档成功');
},
fail: function(err) {
uni.showToast({
title: err.errMsg,
icon: 'none'
})
},
});
} else if (white_image.indexOf(fileType) != -1) {
uni.previewImage({
urls: [filePath],
longPressActions: {
itemList: ['发送给朋友', '保存图片', '收藏'],
success: function(data) {
},
fail: function(err) {
uni.showToast({
title: err.errMsg,
icon: 'none'
})
}
}
});
} else if (white_media.indexOf(fileType) != -1) {
wx.previewMedia({
sources: [{
url: filePath, //图片或者视频所在路径
type: 'video', //图片为image,视频为video
}],
success(res) {
//预览成功
// uni.showToast({
// title: "预览成功",
// icon: "none"
// })
},
fail(err) {
uni.showToast({
title: err.errMsg,
icon: 'none'
})
//预览失败
}
})
} else {
uni.showToast({
title: '不支持打开该类型文件',
icon: 'none'
})
}
},
fail: function(err) {
console.log(err)
uni.showToast({
title: err.errMsg,
icon: 'none'
})
}
});
}