阿里云oss 断点续传(Java版本)

阿里云OSS断点续传(Java版本)

在工作中发现开发的某项功能在用户网络环境差的时候部分图片无法显示,通过Review代码之后发现原来是图片上传到了国外的亚马逊服务器上,经过讨论决定将图片上传到国内阿里云的OSS上,下面是通过上网查找资料和看官网API之后写的一个Java版本的断点续传的demo。

注意:这里是上传到你自己的服务器后,然后再上传到阿里云OSS,不是直接通过前端上传的

首先 , 添加maven

<!-- 阿里云OSS服务 -->
<!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss -->
<dependency>
<groupId>com.aliyun.oss</groupId>
	<artifactId>aliyun-sdk-oss</artifactId>
    <version>3.3.0</version>
</dependency>

 根据官网断点续传写demo

阿里云官网:https://help.aliyun.com/document_detail/31886.html?spm=a2c4g.11186623.6.564.52d735542GHP78

import java.util.Properties;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;

import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;

import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.Bucket;
import com.aliyun.oss.model.Callback;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.UploadFileRequest;
import com.tinno.gamecenter.biz.util.PropertiesHelper;
import com.tinno.gamecenter.common.beans.OssUploadBean;
import com.tinno.gamecenter.core.exception.TinnoCommonException;

/**
 * 阿里云文件存储服务器相关
 * @Title: OssUtil.java
 * @author 王武明
 * @date 2018年9月18日 下午1:50:01
 * @version V1.0
 */
public class OssUtil
{

    /**
     * 日志
     */
    private static Logger logger = Logger.getLogger(OssUtil.class);

    // 阿里云API的内或外网域名
    private static String ALIYUN_OSS_ENDPOINT;

    // 阿里云API的密钥Access Key ID
    private static String ALIYUN_ACCESS_KEY_ID;

    // 阿里云API的密钥Access Key Secret
    private static String ALIYUN_OSS_ACCESS_KEY_SECRET;

    // bucket
    private static String ALIYUN_OSS_BUCKET_ID;

    static
    {
        Properties properties = PropertiesHelper.loadPropertiesFile("/config.properties");
        ALIYUN_OSS_ENDPOINT = properties.containsKey("ALIYUN_OSS_ENDPOINT") == false ? "" : PropertiesHelper.getString("ALIYUN_OSS_ENDPOINT", null, properties);
        ALIYUN_ACCESS_KEY_ID = properties.containsKey("ALIYUN_ACCESS_KEY_ID") =
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
要实现Vue阿里云OSS断点续传,可以按照以下步骤进行操作: 1. 首先,安装ali-oss依赖库,可以使用npm命令进行安装:npm install ali-oss --save。 2. 创建一个RAM用户,分配相应的角色和权限策略,确保该用户拥有上传文件到OSS的权限。 3. 在Vue项目中引入OSS对象,并声明一个全局变量ossClient和tempCheckpoint。可以在项目的入口文件或者所需要使用的组件中引入OSS对象。例如,使用require语句引入OSS对象:const OSS = require('ali-oss')。 4. 初始化ossClient和tempCheckpoint变量,ossClient用于连接到阿里云OSS服务,tempCheckpoint用于记录已完成上传的分片及其对应的etag值。 5. 在文件上传时,根据需要将文件切分成多个分片,并使用ossClient.uploadPart方法进行分片上传。在每次分片上传完成后,更新tempCheckpoint数组。 6. 如果上传过程中中断了,可以通过tempCheckpoint数组来恢复上次上传的进度。重新初始化ossClient,并使用ossClient.uploadPart方法继续上传剩余的分片。 通过以上步骤,就可以实现Vue阿里云OSS断点续传功能。这样即使在上传大文件的过程中出现中断,也可以从上次中断的地方继续上传,提高文件上传的可靠性和效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [阿里云oss文件分片、断点续传上传](https://blog.csdn.net/m0_49106791/article/details/119766365)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值