【HarmonyOS】@ohos.request 上传下载的那些事儿

这篇具有很好参考价值的文章主要介绍了【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接口有返回数据,上传下载接口回调是否可以获取返回的数据?

----上传下载接口仅支持进行文件上传和下载功能,接口回调仅用于监听上传下载是否完成,无法在回调中接收数据。文章来源地址https://www.toymoban.com/news/detail-651241.html

到了这里,关于【HarmonyOS】@ohos.request 上传下载的那些事儿的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • http文件上传下载方案

    后端生成文件,返回二进制给前端 案例 设置 Content-Type 未对应文件的 MIME类型 将文件内容二进制写入http body 后端返回数据,前端生成文件 案例报文:

    2024年02月12日
    浏览(42)
  • 前端常用的上传下载文件的几种方式,直接上传、下载文件,读取.xlsx文件数据,导出.xlsx数据

    1.1根据文件流Blob进行下载 1.2根据下载文件链接直接进行下载 html

    2024年02月12日
    浏览(29)
  • Java上传下载ftp文件

    在Java中连接FTP服务器可以使用Apache Commons Net库提供的FTPClient类。以下是一个简单的示例代码,演示如何连接到FTP服务器、进行文件上传和下载操作: 在上面的示例代码中,你需要替换以下信息: server :FTP服务器的主机名或IP地址。 port :FTP服务器的端口,默认为21。 userna

    2024年02月11日
    浏览(29)
  • java- SFTP文件上传下载

    ​ JSch是Java Secure Channel的缩写,是一个java实现的可以完成sftp上传下载的工具,我们可以集成它的功能到自己的应用程序,本文介绍使用JSch实现的SFTP上传下载的功能。 ChannelSftp类是JSch实现SFTP核心类,它包含了所有SFTP的方法,如 方法名 功能描述 put() 文件上传 get() 文件下载

    2024年01月19日
    浏览(47)
  • 【Postman】 测试文件上传、下载 一、使用PostMan测试文件上传接口

    1、、选择post请求方式,输入请求地址   二、填写Headers  一般是自动生成的 Key:Content-Type Value:multipart/form-data 如下图   三、填写body 选择form-data     然后选择文件file    点击添加文件,最后发送即可   1、反馈异常,先排查 Headers中 Conten-Type 与 ”文件类型“是否匹配  

    2024年02月11日
    浏览(54)
  • Django 图片上传与下载

    在Web开发中,文件上传和下载是常见的功能之一。 Django 是一位魔法师🪄,为我们提供了 FileField 和 ImageField 等神奇得字段类型,以及相应的视图和模板标签,使得处理文件变得十分便捷。本文以图片上传作为示例,向各位小伙伴展示如何使用Django框架构建一个简单的图片上

    2024年01月22日
    浏览(36)
  • 前端文件的上传与下载

    简单理解一下前端文件的上传与下载,如有错误,轻喷。 http协议是建立在tcp、ip协议的应用层规范。 http协议规范把http请求分为3个部分:状态行,请求头,请求体。所有的方法、实现,都是围绕 “如何运用和组织这三部分” 来完成的。 http里没有专门用于文件上传的请求方

    2024年02月04日
    浏览(39)
  • Flutter:文件上传与下载

    dio是一个强大的Dart Http请求库,提供了丰富的功能和易于使用的API,支持文件上传和下载。 这个就不介绍了,网上有很多的封装案例。 简介 适用于iOS,Android,MacOS,Windows和Linux的后台文件下载器和上传器。 官方文档 https://pub-web.flutter-io.cn/packages/background_downloader 安装 注意:

    2024年02月13日
    浏览(46)
  • SpringMVC 文件上传和下载

    Spring MVC 提供了简单而强大的文件上传和下载功能。 下面是对两者的简要介绍: 文件上传: 在Spring MVC中进行文件上传的步骤如下: 在表单中设置 enctype=“multipart/form-data”,这样浏览器会将表单数据以二进制流的形式进行传输。 在控制器方法中,使用 @RequestParam 注解来接收

    2024年01月17日
    浏览(33)
  • 下载文件 + 上传文件

    记录一下js实现下载文件的方式 下载文件 方式一:a 链接下载:模拟a链接的点击,把后端返回的下载地址设置给a链接的href属性 2. 文件流下载 前端接收 type: “application/octet-stream“ 格式的数据并下载,还有后端既返回octet-stream还返回JSON数据时的处理方法, 后端改了一下文件下

    2024年02月12日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包