楼主正解啊。。。同样是这种需求啊,下载下来的文档只能自己看,啥也不能操作,保存在本地,iPhone上根本不知道在哪。。。
小程序里的文件何去何从?downloadFile;getFileSystemManager;openDocument 这三个是比较常用的文件相关api,不管是下载到临时路径、小程序隔离存储、直接打开,我们需要的不仅仅是只在自己的微信上通过小程序查看。 我们期望的是交互,是用户和我们的小程序形成一个生态圈,而不是让用户只在一个小小的小程序里边。 但是我们开发者是真的搞不懂微信相关到底是有什么顾虑,只是在自己一个小小的圈子里。再者说,我通过文件接口把文件下载然后打开之后,顺理成章的,肯定是转发给我的好友,但是这么自然的一种操作趋势还能被微信相关产品经理给生生的打断。 没有分享,没有转发,没有交互,我要downloadFile;getFileSystemManager;openDocument这三个接口有什么用,自己做着玩儿? 麻烦微信相关产品不要再孤芳自赏,怡然自得的把自己关在小程序这个小闭环里了。 最后贴上自己的代码,烦请微信官方考虑一下我们开发者的需求,不要只顾自己开心,好吧? [代码]const file_manager = wx.getFileSystemManager();[代码][代码]const file_dir = wx.env.USER_DATA_PATH + [代码][代码]"/a"[代码][代码];[代码] [代码]file_manager.access({[代码][代码] [代码][代码]path: file_dir,[代码][代码] [代码][代码]complete:[代码][代码]function[代码][代码]( result ) {[代码][代码] [代码][代码]let code_msg = result.errMsg;[代码][代码] [代码][代码]if[代码] [代码](code_msg.indexOf( [代码][代码]'ok'[代码] [代码]) == -1 ) {[代码][代码] [代码][代码]file_manager.mkdir({[代码][代码] [代码][代码]dirPath: file_dir,[代码][代码] [代码][代码]recursive: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]complete: [代码][代码]function[代码] [代码](result) {[代码][代码] [代码][代码]console.log( result );[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码]});[代码] [代码]wx.downloadFile({[代码][代码] [代码][代码]url:[代码][代码]'https://ncstatic.clewm.net/rsrc/2019/0410/15/1cad975df1a49179a2a4a46d7e7cbec0.pdf'[代码][代码],[代码][代码] [代码][代码]complete: [代码][代码]function[代码][代码](result) {[代码][代码] [代码][代码]if[代码] [代码]( result.statusCode != 200 ) {[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]file_manager.saveFile({[代码][代码] [代码][代码]tempFilePath: result.tempFilePath,[代码][代码] [代码][代码]filePath:file_dir+[代码][代码]'/a.pdf'[代码][代码],[代码][代码] [代码][代码]complete:[代码][代码]function[代码][代码]( result ) {[代码][代码] [代码][代码]// 下载失败[代码][代码] [代码][代码]let code_msg = result.errMsg;[代码][代码] [代码][代码]if[代码] [代码](code_msg.indexOf([代码][代码]'ok'[代码][代码]) == -1) {[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]let saved_file_path = result.savedFilePath;[代码] [代码] [代码][代码]wx.openDocument({[代码][代码] [代码][代码]filePath: saved_file_path,[代码][代码] [代码][代码]fileType: [代码][代码]'pdf'[代码][代码],[代码][代码] [代码][代码]complete: [代码][代码]function[代码] [代码](result) {[代码][代码] [代码][代码]console.log(result);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]// console.log( saved_file_path );[代码][代码] [代码][代码]// wx.chooseMessageFile({[代码][代码] [代码][代码]// count:1,[代码][代码] [代码][代码]// type: 'all',[代码][代码] [代码][代码]// success(res) {[代码][代码] [代码][代码]// // tempFilePath可以作为img标签的src属性显示图片[代码][代码] [代码][代码]// console.log(res );[代码][代码] [代码][代码]// }[代码][代码] [代码][代码]// });[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码]});[代码]
2019-06-04也有同样需求,楼主解决了没,有没有啥好方法
苹果手机,微信小程序文件下载后不能分享/转发文件- 苹果手机,微信小程序文件下载后不能分享/转发文件,安卓手机可以 - 需要苹果手机在微信小程序文件下载后可以分享/转发文件
2019-06-04同样遇到此类问题,楼主解决了没啊
下载的文件怎么发送给好友?需求:通过小程序下载的文件(非图片)可以发送给好友 场景: 比如我有个模板需要用户下载填写,填写完成后再上传,现在可以通过新接口 wx.chooseMessageFile 选择上传,但是一开始的模板下载落地还没有好方法。
2019-06-04