1、概 述
文件下载是一个非常常见的应用场景,我们可以通过使用ArkTs提供的上传下载模块(ohos.request)的下载接口将网络资源文件下载到应用文件目录。
另外,对已下载的网络资源文件,我们可以使用基础文件IO接口(ohos.file.fs)对其进行访问,使用方式与应用文件访问一致。
文件下载过程使用系统服务代理完成(在api12中request.agent.create接口增加了设置代理地址参数,支持我们设置自定义代理地址)。
2、示 例
下载文件一般可以使用两种方式来实现:1)使用downloadFile接口;2)使用agent接口;
需要注意,下载文件需要申请网络权限:ohos.permission.INTERNET。
申明方式,在module.json5中配置对应字段,示例如下:
{
"module" : {
// ...
"requestPermissions":[
{
"name" : "ohos.permission.INTERNET",
"reason": "$string:reason",
"usedScene": {
"abilities": [
"FormAbility"
],
"when":"inuse"
}
}
]
}
}
我们以下载一份txt文件为例,图片下载url链接如下:
https://gitee.com/lantingshuxu/harmony-class-room-demos/raw/main/readme.md
2.1、通过downloadFile接口下载文件
一般情况下,如果我们不需要做其他额外配置,可以优先使用downloadFile接口来实现文件下载。
示例:我们通过downloadFile接口下载txt完毕后,本地打开再显示出来。效果如下:
代码如下(注意28~48行downloadFile方法和49~58行readDownloadedFile方法):
import { common } from '@kit.AbilityKit';
import fs from '@ohos.file.fs';
import { BusinessError, req