预想:用downloadFile把视频下载下来,然后用saveVideoToPhotosAlbum把视频保存到相册。
问题一:
downloadFile时,文件后缀是mp4基本可以下载成功。如果视频是.mov格式,部分安卓手机下载后缀为unknown,而os手机下载的文件没有后缀,看过很多帖子说改变content-type的类型,便上网查了每个视频对应的mine类型是啥,然后修改content-type,但是不起作用,返回来的content-type依旧是默认的application/octet-stream,后来参考这篇帖子,把文件的存贮位置手动设置存贮
let url= "http://investmenttry.oss-cn-shenzhen.aliyuncs.com/201904/QQ视频20181022155149_2.mp4" , arry = url.split( "/" ), fileName = arry[arry.length-1]; wx.downloadFile({ url: url, // 仅为示例,并非真实的资源 filePath: wx.env.USER_DATA_PATH + '/' + fileName, success(res) { // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容 if (res.statusCode === 200) { console.log(res) wx.saveVideoToPhotosAlbum({ filePath:res.filePath, success(res) { console.log(e, "保存成功" ); }, fail(e){ console.log( "保存失败" , e); } }) } else {
} } }) |
文件下载下来都是有后缀的了。针对以上问题,我有几处疑惑:
1、缓存文件存贮在手机位置的哪里呢?找不到这个,总感觉没下载成功
2、downloadFile 支持的 content-type 都有哪些呢?
3、为何设置了content-type没有作用?
问题二、
把文件下载来后,文件后缀为mov时,部分安卓手机(华为,oppo,但vivo不会)saveVideoToPhotosAlbum会提示错信息errMsg:"saveVideoToPhotosAlbum:fail invalid file type"。(video上 华为不支持.mov格式的视频,但是oppo支持)针对以上,我有几处疑问:
1、saveVideoToPhotosAlbum能保存的视频类型安卓和苹果分别是什么?
2、saveVideoToPhotosAlbum保存的文件位置在哪里呢
问题一:
1、wx.downloadFile 可以自行设置文件下载后存储的路径,具体请参考:https://developers.weixin.qq.com/miniprogram/dev/api/wx.downloadFile.html
2、这个是开发者传什么就是什么
3、没有作用是什么意思?
问题二:
1、wx.saveVideoToPhotosAlbum目前支持的视频格式为MP4
2、调用wx.saveVideoToPhotosAlbum是保存到系统相册的,具体请参考:https://developers.weixin.qq.com/miniprogram/dev/api/wx.saveVideoToPhotosAlbum.html
问题一:
1、我知道可以自行设置文件的下载存储的路径,比如我上面代码 wx.env.USER_DATA_PATH +'/' + fileName, 得到存放的地址是wxfile://usr/movie_4.mp4,那个微信默认的文件夹是具体到手机哪个文件夹呢
2、之前我针对mov,我传了content-type是video/quicktime,可是不能下载mov文件成功
3、content-type无论传了什么,结果文件下载返回来数据的都是application/octet-stream