阿里云 OSS监控上传进度

阿里云上传进度SDK

使用阿里云带进度条的上传,然后将长传进度存入session

 // 带进度条的上传ossClient.putObject(new PutObjectRequest(OSSConfigure.bucketName, path + fileName, is, objectMetadata).<PutObjectRequest>withProgressListener(new PutObjectProgressListener(session)));

阿里云监控上传进度

package com.zichan360.oss;
import com.aliyun.oss.event.ProgressEvent;
import com.aliyun.oss.event.ProgressEventType;
import com.aliyun.oss.event.ProgressListener;
import lombok.extern.slf4j.Slf4j;

import javax.servlet.http.HttpSession;

/**
* @ClassName: PutObjectProgressListener
* @ProjectName Validator
* @Author zhaohp
* @Date 2018/8/27 11:03
* @Description: OSS文件上传进度
*/
@Slf4j
public class PutObjectProgressListener implements ProgressListener {
private long bytesWritten = 0;
private long totalBytes = -1;
private boolean succeed = false;
private HttpSession session;
private int percent = 0;

//构造方法中加入session
public PutObjectProgressListener() {
}public PutObjectProgressListener(HttpSession mSession) {this.session = mSession;session.setAttribute("upload_percent", percent);
}@Override
public void progressChanged(ProgressEvent progressEvent) {long bytes = progressEvent.getBytes();ProgressEventType eventType = progressEvent.getEventType();switch (eventType) {case TRANSFER_STARTED_EVENT:log.debug("Start to upload......");break;case REQUEST_CONTENT_LENGTH_EVENT:this.totalBytes = bytes;log.debug(this.totalBytes + " bytes in total will be uploaded to OSS");break;case REQUEST_BYTE_TRANSFER_EVENT:this.bytesWritten += bytes;if (this.totalBytes != -1) {int percent = (int) (this.bytesWritten * 100.0 / this.totalBytes);//将进度percent放入session中session.setAttribute("upload_percent", percent);log.debug(bytes + " bytes have been written at this time, upload progress: " + percent + "%(" + this.bytesWritten + "/" + this.totalBytes + ")");} else {log.debug(bytes + " bytes have been written at this time, upload ratio: unknown" + "(" + this.bytesWritten + "/...)");}break;case TRANSFER_COMPLETED_EVENT:this.succeed = true;log.debug("Succeed to upload, " + this.bytesWritten + " bytes have been transferred in total");break;case TRANSFER_FAILED_EVENT:log.debug("Failed to upload, " + this.bytesWritten + " bytes have been transferred");break;default:break;}
}public boolean isSucceed() {return succeed;
}

}

阿里云 OSS监控上传进度相关推荐

  1. SpringBoot整合阿里云OSS文件上传、下载、查看、删除

    SpringBoot整合阿里云OSS文件上传.下载.查看.删除 该项目源码地址:https://github.com/ggb2312/springboot-integration-examples ( ...

  2. 解决阿里云oss文件上传部分MP4格式视频文件上传导致上传崩溃问题

    解决阿里云oss文件上传部分MP4格式视频文件上传导致上传崩溃问题 问题描述 java程序,使用阿里云oss文件上传服务,在测试时偶然发现,我用苹果手机开启高清进行摄像,将原图通过qq传到电脑上,在电 ...

  3. 阿里云oss文件上传工具类

    阿里云oss文件上传工具类 阿里云oss 阿里云oss 导入文件阿里云oss的maven依赖 <!-- 阿里云oss依赖 --><dependency><groupId& ...

  4. 阿里云oss视频上传后,如何获取视频封面

    前言:在阿里云oss视频上传后,我们如何获取视频封面呢?而不是通过上传方式获取封面.其实OSS本身提供了视频截帧功能 OSS提供的视频截帧功能和OSS图片服务功能使用的方式是类似的,都是通过传入x-o ...

  5. Java中阿里云OSS文件上传工具类

    阿里云OSS文件上传下载工具类 前言: 本质上就是获取配置文件信息,然后注入bean,调用sdk中提供的增删改方法: 为了避免同名文件会替换,用了hutool中唯一id生成+文件名做拼接 导入依赖:→ ...

  6. 阿里云OSS文件上传下载,拿来即用

    什么是OSS 我们可以理解为就是一个资源服务器,在这之前我也尝试过Nginx当静态资源服务器,但效果比较一般,为什么选择阿里云OSS,只是因为最近刚好公司用到了,所以就接入了,还有其他的比如七牛云,腾 ...

  7. C#阿里云oss接口上传和下载文件

    一  前期准备工作:需要获取阿里云的:endpoint, accessKeyId, accessKeySecret这三个参数值,可以登录阿里云账号获取到. 再一个就是项目中需要引入阿里云的接口文件Al ...

  8. 阿里云OSS文件上传,后台签名方案

    时序图如上 上传回调过程是在后台封装好代码,将callback作为参数在获取签名的时候返回给前端,前端再去直接调用host进行文件直传,此时阿里云会根据是否有回调地址进行调用此接口地址:针对此回调地址 ...

  9. springboot+阿里云OSS分片上传、断点续传、秒传

    最近工作中有使用到OSS的分片上传API,整体流程就是前端将大文件进行分割,每个分片大小是1MB,分片个数是:(文件总大小 / 单个分片大小),前端多线程处理上传分片到后端,后端接收到分片后调用OSS ...

最新文章

  1. 我们究竟应不应该使用框架?
  2. 运行第一个 Service - 每天5分钟玩转 Docker 容器技术(96)
  3. win7系统自带截图工具快捷键是什么?怎么设置快捷键
  4. 再有人问 Java 中的注解就把这篇文章丢给他!
  5. Gentoo 安装日记 21 (第一次重启)
  6. 寻仙新马源码一键端_强大,腾讯开源前后端接口开发工具!
  7. 科大奥锐实验报告霍尔效应_大学物理实验报告系列之霍尔效应
  8. linux根目录下各文件的作用
  9. 曾经如日中天的VB编程,现已没落,而惨遭嫌弃的它,成了香饽饽
  10. 巴特沃斯低通滤波器 matlab,利用matlab设计巴特沃斯低通滤波器
  11. 制作开心网页游戏 HTML+CSS静态网页
  12. android 音频文件下载
  13. 浏览器主流内核分析,浏览器版本过低升级方法
  14. 拿下国产高端市场第一背后,vivo与苹果、华为的共性
  15. 实践小笔记(1) --- DBSCAN
  16. nb信号和4g信号_【行业】万物互联的世界NB-IoT VS 4G,到底哪个更能打?
  17. python爬虫-北京租房可视化分析
  18. 漫画:什么是IaaS、PaaS、SaaS?
  19. Kafka 消息中间件
  20. fuchsiaos和鸿蒙os区别,谷歌Fuchsia OS和华为鸿蒙系统(HarmonyOS)没有必然联系

热门文章

  1. 技术:最新版的MARS可以“听懂”人话啦
  2. Linux u盘助手总结
  3. 12V升30V大功率2x100W双声道D类音频功放升压组合解决方案
  4. python爬虫——词云分析最热门电影《后来的我们》
  5. 华为发布金融数据智能解决方案,金融数智化有了新“良方”
  6. [易飞]自定义会计报表从A帐套复制到B帐套
  7. cnpm安装vue-cli2
  8. java 打包 ios项目_[转]Unity之打包IOS流程
  9. 聊聊国外医学影像AI集成平台(上)
  10. 树莓派3B运行srsLTE