uni

您所在的位置:网站首页 h5文件大小为0 uni

uni

2024-07-12 13:59| 来源: 网络整理| 查看: 265

上一篇 uni-app:web-view实现文件(非图片视频文件)上传与下载,末尾对于文件采用了触发a标签的方式进行下载,虽然可行,但难免有点low。后来考虑到我们上传的文件名称在后端被篡改(时间戳+随机数),但是当用户进行下载时,最好的体验应该是文件名称不变,这时可以用html5plus中的plus.downloader.createDownload进行文件下载,重命名。具体用法如下: plus.downloader.createDownload(url,options,completedCB) 说明:请求下载管理创建新的下载任务,创建成功则返回DOwnload对象,用于管理下载任务。

url:文件所在的资源地址(仅支持网络资源地址,支持HTTP或HTTPS协议,允许创建多个相同的url地址的下载任务。注意,若url中含有空格或中文,请使用urlencode转换)options:可用来设置下载任务属性,如保存路径、下载优先级等。 参数说明method 网络请求类型(String 类型 )支持http协议的GET、POST,默认为GETdata(String 类型 )POST请求时提交的数据filename(String 类型 )下载文件的保存路径,具体的路径支持请查看官方文档priority(Number 类型 )下载任务的优先级timeout(Number 类型 )下载任务超时时间(指服务器响应请求的时间,而不是完成下载的总时间),默认120sretry(Number 类型 )下载任务重试次数,默认3次retryInterval(Number 类型 )下载任务重试间隔时间,默认30s completedCB:下载任务完成回调函数,成功失败都会触发 var name = test.doc; //文件名称可以在上传时进行保存,下载时取出,当文件名称中存在单双引号时,要做好处理,否则会报错 var dtask = plus.downloader.createDownload(url,{ filename:"_downloads/"+name //利用保存路径,实现下载文件的重命名 },function(d,status){ //d为下载的文件对象 if(status==200){ //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径 var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename); plus.runtime.openFile(d.filename); //选择软件打开文件 }else{ //下载失败 plus.downloader.clear(); //清除下载任务 } }) dtask.start();


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3