- 小程序里的文件何去何从?
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-04-10 - iOS wx.savefile保存的文件在手机上能找到吗
let filePath = '****';wx.saveFile({ tempFilePath: filePath, success (res) { const savedFilePath = res.savedFilePath wx.openDocument({ // 可通过 downloadFile 获得,PDF文件路径 filePath: savedFilePath, fileType: 'pdf', success: function (res) { }, fail: function (res) { }, complete: function (res) { } }) } }) 在 IOS 上面用户无法找到下载文件。有什么对应的解决方案吗。谢谢
2018-10-24 - 小程序能不能保存mp3文件到本地
目前需求是拿到网络资源,然后把他保存早手机内存里面,用户可以通过手机查找到,并且播放。 目前的思路:通过wx.downloadFile 下载一个网络资源 然后通过wx.saveFile保存到本地,发现根本实现不了,wx.saveFile保存的是在一个缓存里面,并且还有10m的限制。请问是不是还有别的方法?还是说微信小程序实现不了?
2019-05-28 - wx.downloadFile 和 wx.saveFile() 路径
wx.downloadFile 下载成功后会返回一个临时路径,这个临时路径是什么意思啊?和调用wx.saveFile()后返回的保存路径有什么区别? wx.downloadFile 返回的临时路径,我发现在下一次使用时还是有效的,而wx.saveFile()返回的保存路径也有效,但不能保存到本地文件目录,那wx.saveFile()有什么意义,而且大小只有10M。
2018-08-28 - 有监听小程序左上角返回按钮的接口吗
- 需求的场景描述(希望解决的问题) 1:比如从主页依次打开A B C D 页面; 2:在D页面点击左上角返回想返回到B页面 3: wx.navigateBack(OBJECT) 虽然能返回多级页面,但是由于无法监听左上角返回按钮,没地方来用这个函数,如果加载网页onUnload里,会先返回上级页面 再执行wx.navigateBack,导致页面闪一下。 - 希望提供的能力 希望可以监听左上角返回键
2018-04-11