详情页标题前

阿里云对象存储OSSBrowser.js断点续传上传-云淘科技

详情页1

通过断点续传上传的方式将文件上传到OSS前,您可以指定断点记录点。上传过程中,如果出现网络异常或程序崩溃导致文件上传失败时,将从断点记录处继续上传未上传完成的部分。

注意事项

  • 当您使用webpack或browserify等打包工具时,请通过npm install ali-oss的方式安装Browser.js SDK。

  • 通过浏览器访问OSS时涉及跨域请求,如果未设置跨域规则,浏览器会拒绝跨域访问请求。如果您希望通过浏览器可以正常访问OSS,需要通过OSS设置跨域规则。具体操作,请参见准备工作。

  • 由于Browser.js SDK通常在浏览器环境下使用,为避免暴露阿里云账号访问密钥(AccessKey ID和AccessKey Secret),强烈建议您使用临时访问凭证的方式执行OSS相关操作。

    临时访问凭证包括临时访问密钥(AccessKey ID和AccessKey Secret)和安全令牌(SecurityToken)。获取临时访问凭证的具体操作,请参见使用STS进行临时授权。

示例代码

以下代码用于断点续传上传:



  
    
    Document
  
  
    
    
    
    
    
    
      const client = new OSS({
       // yourRegion填写Bucket所在地域。以华东1(杭州)为例,yourRegion填写为oss-cn-hangzhou。
       region: 'yourRegion',
       // 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。
       accessKeyId: 'yourAccessKeyId',
       accessKeySecret: 'yourAccessKeySecret',
       // 从STS服务获取的安全令牌(SecurityToken)。
       stsToken: 'yourSecurityToken',
       // 填写Bucket名称,例如examplebucket。
       bucket: "examplebucket",
    });
      // 生成用于断点续传上传的文件,大小为100 MB。
      const fileContent = Array(1024 * 1024 * 100)
        .fill("a")
        .join("");
      const file = new File([fileContent], "multipart-upload-file");
      // 上传至Bucket内Object的完整路径,例如exampledir/exampleobject.txt。
      const name = "test.txt";
      // 定义中断点。
      let abortCheckpoint;
      // 获取上传和中断DOM。
      const submit = document.getElementById("submit");
      const pause = document.getElementById("pause");
      // 获取续传DOM。
      const resume = document.getElementById("resume");

      // 监听上传按钮,单击后“上传“后开始上传。
      submit.addEventListener("click", () => {
        client
          .multipartUpload(name, file, {
            progress: (p, cpt, res) => {
              // 为中断点赋值。
              abortCheckpoint = cpt;
              console.log(abortCheckpoint);
              // 获取上传进度。
              console.log(p * 100);
            },
          })
          .then((r) => console.log(r));
      });
      // 监听暂停按钮。
      pause.addEventListener("click", () => {
        // 暂停上传。
        client.cancel();
      });

      const resumeUpload = async () => {
        // 设置重试次数为五次。
        try {
          const result = await client.multipartUpload(name, file, {
            checkpoint: abortCheckpoint,
            progress: (p, cpt, res) => {
              // 为了实现断点上传,您可以在上传过程中保存断点信息(checkpoint)。发生上传错误后,将已保存的checkpoint作为参数传递给multipartUpload,此时将从上次上传失败的地方继续上传。
              abortCheckpoint = cpt;
              // 获取上传进度。
              console.log(p);
            },
          });
          console.log(result);
        } catch (e) {
          console.log(e);
        }
      };

      // 监听续传按钮,单击”恢复上传“后继续上传。
      resume.addEventListener("click", async () => {
        await resumeUpload();
      });
    
  

            

相关文档

关于断点续传上传的完整示例代码,请参见GitHub示例。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/156835.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云ECS云服务器高可用架构部署方案-云淘科技

    高可用架构提供业务分发、弹性扩展、多可用区部署等功能。相较于使用单台ECS实例部署数据库与应用,高可用架构只需简单部署,并且拥有更高的稳定性和可扩展性。 高可用架构特点 高可用架构具有如下特点: 使用多可用区高可用版的负载均衡CLB(Classic Load Balancer)对多台云服务器ECS进行流量分发,可扩展应用系统对外服务能力、消除单点故障,提升应…

    阿里云服务器 2023年12月9日
  • 阿里云对象存储OSSGo列举文件-云淘科技

    本文介绍如何列举指定存储空间(Bucket)下的所有文件(Object)、指定前缀的文件、指定目录下的文件和子目录等。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。 本文以从环境变…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSS0003-00000301-云淘科技

    问题描述 请求被STS Token Policy所拒绝。 问题原因 该报错是获取STS Token代码中的Policy参数的授权问题导致。 问题示例 比如下面Java获取Token的Demo代码所示,其中的Policy设置代表Token的Policy权限设置,最终的Token权限是用户角色的授权和代码中Policy权限的交集: 解决方案 请结合您调用的OSS…

    2023年12月10日
  • 阿里云对象存储OSSLiveChannel简介-云淘科技

    您可以使用RTMP协议将音视频数据上传到OSS,转储为指定格式的音视频文件。上传前需要先创建一个LiveChannel,以获取对应的推流地址。 通过RTMP协议上传音视频数据目前有以下限制: 只能使用RTMP推流的方式,不支持拉流。 必须包含视频流,且视频流格式为H264。 音频流是可选的,并且只支持AAC格式,其他格式的音频流会被丢弃。 转储只支持HLS协…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSS锐化-云淘科技

    您可以通过锐化参数,提高存储在OSS内原图的清晰度。本文介绍对图片进行锐化时所用到的参数及示例。 参数说明 操作名称:sharpen 参数说明如下: 参数 描述 取值范围 [value] 设置锐化效果的强度。 [50,399] 取值越大,图片越清晰,但过大的值可能会导致图片失真。为达到较优效果,推荐取值为100。 示例 您可以通过文件URL、SDK、API方…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。