基于官方openDocument方法。同保存图片至本地相同,该方法路径参数不支持网络路径,因此需要使用downloadFile后获取一个临时路径

loadFile(url) {
				uni.downloadFile({
					url: url,
					success: (res) => {
						if (res.statusCode === 200) {
							uni.openDocument({
								filePath: res.tempFilePath, 
                                // 如果文件名包含中文,建议使用escape(res.tempFilePath)转码,防止ios和安卓客户端导致的差异
								success: function(res) {
									console.log('打开文档成功');
								}
							});
						}
					}
				});
			},

另外,保存文件saveFile方法无法指定保存至手机哪个路径下,下载成功后只能通过第三方软件去获取手机中的文件进而查看下载的文件,且文件名与下载链接中不一致。

所以项目app内目前采用在线打开的方式,然后使用手机系统自带功能分享到微信等其他第三方软件。是否有更好的方法呢?V:skiingCat

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐