例如(此示例url为一个视频文件的下载地址,仅用来说明,时间长了url会失效)

let url = 'http://v6-hs.ixigua.com/0c524676a5a820be442a1551276f9fc0/5f2a8347/video/m/2201ac17b11acff4af8bccb1d777dbe646011669a703000003f93d1d5578/?a=1112&br=3519&bt=1173&cr=0&cs=0&dr=0&ds=3&er=&l=202008051658370100140481430D02274A&lr=unwatermarked&mime_type=video_mp4&qs=0&rc=M29uPDV0a2w2djMzN2QzM0ApOjlnOTU8MzxlN2dmM2k7N2deYGxkZjZiaWlfLS02Li9zcy5fMWBfNjQwLy4vYGIxMS86Yw%3D%3D&vl=&vr= '

uni.downloadFile({

url

});

返回以下结果,文件名过长,linux最长文件名255,而此文件名长度270多,这个bug的根源在于下载完以后临时文件名的处理没有容错,应该向小程序平台一样进行一个随机字符串的重命名。

{

"tempFilePath": "_doc/uniapp_temp_1596617577461/download/?a=1112&br=3519&bt=1173&cr=0&cs=0&dr=0&ds=3&er=&l=202008051658370100140481430D02274A&lr=unwatermarked&mime_type=video_mp4&qs=0&rc=M29uPDV0a2w2djMzN2QzM0ApOjlnOTU8MzxlN2dmM2k7N2deYGxkZjZiaWlfLS02Li9zcy5fMWBfNjQwLy4vYGIxMS86Yw==&vl=&vr=.mp4",

"statusCode": 200,

"errMsg": "downloadFile:ok"

}

更多推荐