HarmonyOS@ohos.request 上传那些事儿
【关键字】
@ohos.request、上传下载
【写在前面】
在进行HarmonyOS应用开发时,可能需要进行上传或下载文件功能开发,本文章主要进行上传下载相关功能介绍和一些注意事项及FAQ。
【上传开发步骤】
步骤1:上传下载接口需要申请ohos.permission.INTERNET权限,如下:
-
"reqPermissions": [
-
{
-
"name": "ohos.permission.INTERNET"
-
}
-
]
步骤2:API9以下版本调用request.upload接口,API9可以调用request.uploadFile接口,参数详见官方文档说明,代码如下:
-
let file = {
-
filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg"
-
};
-
let uploadTask;
-
request.upload({
-
url: 'http://xxx/upload/',
-
header: {},
-
method: "POST",
-
files: [file],
-
data: [
-
{
-
name: "test", value: "value"
-
}
-
]
-
}).then((data) => {
-
console.error('test data: ' JSON.stringify(data));
-
uploadTask = data;
-
// 可通过progress判断进度是否完成,uploadedSize等于totalSize表示上传成功
-
// API9可通过complete监听上传任务是否完成
-
uploadTask.on('progress', function callback(uploadedSize, totalSize) {
-
console.info("upload totalSize:" totalSize " uploadedSize:" uploadedSize);
-
});
-
}).catch((err) => {
-
console.error('Failed to request the upload. Cause: ' JSON.stringify(err));
-
})
步骤3:上传任务是否完成可根据API版本,参考文档使用不同接口进行监听,走到监听回调即表示文件上传成功了。
【下载开发步骤】
下载功能开发同上传类似,同样需要申请ohos.permission.INTERNET权限,再根据不同API版本,参考文档调用不同接口即可;官方文档每个接口均有示例说明,此处不再赘述。
【参考文档】
上传下载:文档中心
【FAQ】
问题1:使用download下载功能,文件较大时,将应用切换到后台,发现下载任务停止了,如何才能让应用运行在后台时,保持下载功能?
----可将downloadTask变量定义为全局变量,若非全局变量,在应用运行后台时,会导致task任务终止,即下载任务停止。同理,上传功能也一样处理。
问题2:上传或下载过程中,on('progress') 任务进度监听会走几次?
----on('progress') 仅用于显示上传下载进度,若网速情况良好或者文件大小不是很大的情况下,progress可能仅回调一次,回调次数与网速与下载文件大小均有关系
问题3:若http接口有返回数据,上传下载接口回调是否可以获取返回的数据?
----上传下载接口仅支持进行文件上传和下载功能,接口回调仅用于监听上传下载是否完成,无法在回调中接收数据。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgffhch
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01