详细的 业务为 我需要在服务器下载一段音频文件 通过downloadFile 下载后 官方的意思是通过 uni.saveFile 来保存 这个其实就是 放在了内部存储\Android\data\io.dcloud.HBuilder\apps\HBuilder\doc\uniapp_save 里面 和沙盒的位置不一样而已,并且通过uni.removeSavedFile 删除掉,我想在的意思是 当下在成功后 自己可以自定一个内部储存 文件夹来放置 我下载的音频文件,我也看了 H5+API 也没有发现方法可以打开手机的目录进行存放。plus.io.requestFileSystem 这个方法也没有走通,不知道是我的方法不对还是怎么。
求解决
易软
- 发布:2020-11-19 11:48
- 更新:2024-07-28 21:53
- 阅读:14143
8 个回复
易软 (作者)
只针对安卓
DCloud_UNI_GSQ
可以直接使用plus.download 相关接口下载到指定目录
uni. downloadFile 的代码也是开源的,其内部就是使用 plus的接口实现,可以去看
也可以使用 plus.io 相关接口移动文件
uni.saveFile 的代码也是开源的,其内部就是使用 plus的接口实现,可以去看
易软 (作者)
不是说再安卓10+以上不允许移动至沙盒外的目录吗?
2020-11-20 09:35
易软 (作者)
而且 在下载任务接口里面的filename 属性用来设置保存路径 只给了应用目录的方法如果要存公共目录呢,比如我要存在 内部存储>Android下面呢或者 内部存储>Android>data 下面呢。而且是Android10 能行吗?
2020-11-20 09:58
[已删除]
回复 易软: 请问怎么保存文件到Android的Download目录下?
2021-02-01 12:10
1***@qq.com
要不你给个地址 要不你给个方法
2022-08-27 14:38
w***@jsunet.cn
解决了吗?
9***@qq.com
解决了么
var url = this.URL+this.classDetial.adjunct
let dtask = plus.downloader.createDownload(url, {
//本地路径开头使用file://,跟上手机文件本地目录storage/emulated/0,就是用户文件管理器能看到的了,之后我创建微垠作为文件夹,后缀是用于文件命名和格式修改,大家可以使用变量。
filename: "file://storage/emulated/0/APP/" + this.classDetial.adjunctName //利用保存路径,实现下载文件的重命名
},
这个保存的目录也找不到啊
鸡排饭加个蛋
安卓10 11+ 亲测有效,可能是你没有设置申请到存储权限。可以先手动开启app到存储权限,再尝试一下,如果可以,那可以通过代码获取到存储权限后,再触发plus.downloader.createDownload
2023-03-22 15:18
d***@qq.com
回复 鸡排饭加个蛋: 确实,开了存储权限就可以了
2024-07-28 22:00
糖分至上
回复 d***@qq.com: 老哥请问有示例吗,我这也没成功
2024-11-25 11:59
q***@qq.com - 为二进制而疯狂的男人
不能,这狗逼文档太狗血,一点也不全,不详细,T么D是不是坑用户还是为了赚钱
尼卡路西
没错,是为了挣钱,这算是官方论坛吧?一堆破问题,也没见几个是官方来回答的,还维护不?天坑
2022-08-25 19:51
超人2021
解决了吗,能实现吗, plus.downloader.createDownload这个方法也只是下载到应用包名下,而不是下载到指定目录
d***@qq.com
QAQ解决了踢我一脚
易软 (作者)
能不能指定下载到根目录下的DownLoad 目录中啊
6***@qq.com
解决了么?
2021-06-30 23:19
1***@qq.com
解决了吗?
2023-11-06 11:12