关于微信小程序视频下载并保存到相册的几点总结

关于wx.downloadFile

1、指定本地缓存路径filePath时,缓存上限是10M;

2、不指定filePath时,缓存上限是50M,下载成功会生成临时缓存,参数为tempFilePath;

3、不管缓存上限是10M还是50M,都包含了小程序本身所占用的一部分空间,所以实际在下载文件时,都要求文件大小比10M或50M要小才行;

4、保存到相册成功后需要删掉指定的本地缓存或临时缓存,为后续文件的下载腾出空间,使用fileManager的unlink方法即可。

关于wx.saveVideoToPhotosAlbum

遇到问题:

iOS端保存到相册正常,Android端保存到相册有时成功,有时失败,失败会报错:fail invalid file type

解决思路:

1、经测试发现,正常的情况下临时缓存是以.mp4为后缀结尾,凡是报错的视频临时缓存都是以.mp4s为后缀结尾的,很明显,小程序的api在安卓端不能识别这个后缀的缓存文件从而导致保存到相册失败,而iOS端却没有这个问题,说明小程序在跨平台的兼容性上还存在一些问题

2、问题变成了为什么临时缓存的后缀不一样,因为视频都是iOS端通过代码上传到阿里云平台上的,而在上传之前都经过转码,把mov转码为mp4,所以阿里云上存储的视频都是以.mp4为后缀的,按道理来说,下载后应该也是以.mp4为后缀,会出现这个问题,猜测是请求头的设置不一样,经过核对,发现有的视频请求头中content-Type的值为application/mp4,而有的为video/mp4,而经过测试发现,请求头为application/mp4的视频就会导致安卓端出现保存到相册失败的问题

关于批量设置HTTP 头

视频都存储在阿里云,由于在bucket下分了很多个虚拟的文件夹目录,嵌套多层,而视频总数超过一万,导致控制台提供的批量设置请求头的方式不可取,最后经过工单沟通,采用了命令行工具ossutil的批量修改指定文件的存储类型set-meta来实现,命令如下(64位mac系统):

查看mac版本:uname -a

下载工具:curl -o ossutilmac64 http://gosspublic.alicdn.com/ossutil/1.6.10/ossutilmac64

修改文件执行权限:chmod 755 ossutilmac64

生成配置文件:./ossutilmac64 config

修改配置参数:

./ossutilmac64 config

请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径): 未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。

 对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。 

请输入endpoint:http://oss-cn-shenzhen.aliyuncs.com 

请输入accessKeyID:yourAccessKeyID 

请输入accessKeySecret:yourAccessKeySecret

请输入stsToken:

最后,批量设置以.mp4为后缀的文件请求头中content-Type的值为video/mp4:

./ossutilmac64 set-meta oss://xxxxxxxx-class-video/ Content-Type:video/mp4 --include "*.mp4" -u -r

至此,问题得到圆满解决,如对你有所帮助,求点个赞,多谢~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351