阿里云 OSS监控上传进度
阿里云 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监控上传进度相关推荐
- SpringBoot整合阿里云OSS文件上传、下载、查看、删除
SpringBoot整合阿里云OSS文件上传.下载.查看.删除 该项目源码地址:https://github.com/ggb2312/springboot-integration-examples ( ...
- 解决阿里云oss文件上传部分MP4格式视频文件上传导致上传崩溃问题
解决阿里云oss文件上传部分MP4格式视频文件上传导致上传崩溃问题 问题描述 java程序,使用阿里云oss文件上传服务,在测试时偶然发现,我用苹果手机开启高清进行摄像,将原图通过qq传到电脑上,在电 ...
- 阿里云oss文件上传工具类
阿里云oss文件上传工具类 阿里云oss 阿里云oss 导入文件阿里云oss的maven依赖 <!-- 阿里云oss依赖 --><dependency><groupId& ...
- 阿里云oss视频上传后,如何获取视频封面
前言:在阿里云oss视频上传后,我们如何获取视频封面呢?而不是通过上传方式获取封面.其实OSS本身提供了视频截帧功能 OSS提供的视频截帧功能和OSS图片服务功能使用的方式是类似的,都是通过传入x-o ...
- Java中阿里云OSS文件上传工具类
阿里云OSS文件上传下载工具类 前言: 本质上就是获取配置文件信息,然后注入bean,调用sdk中提供的增删改方法: 为了避免同名文件会替换,用了hutool中唯一id生成+文件名做拼接 导入依赖:→ ...
- 阿里云OSS文件上传下载,拿来即用
什么是OSS 我们可以理解为就是一个资源服务器,在这之前我也尝试过Nginx当静态资源服务器,但效果比较一般,为什么选择阿里云OSS,只是因为最近刚好公司用到了,所以就接入了,还有其他的比如七牛云,腾 ...
- C#阿里云oss接口上传和下载文件
一 前期准备工作:需要获取阿里云的:endpoint, accessKeyId, accessKeySecret这三个参数值,可以登录阿里云账号获取到. 再一个就是项目中需要引入阿里云的接口文件Al ...
- 阿里云OSS文件上传,后台签名方案
时序图如上 上传回调过程是在后台封装好代码,将callback作为参数在获取签名的时候返回给前端,前端再去直接调用host进行文件直传,此时阿里云会根据是否有回调地址进行调用此接口地址:针对此回调地址 ...
- springboot+阿里云OSS分片上传、断点续传、秒传
最近工作中有使用到OSS的分片上传API,整体流程就是前端将大文件进行分割,每个分片大小是1MB,分片个数是:(文件总大小 / 单个分片大小),前端多线程处理上传分片到后端,后端接收到分片后调用OSS ...
最新文章
- 我们究竟应不应该使用框架?
- 运行第一个 Service - 每天5分钟玩转 Docker 容器技术(96)
- win7系统自带截图工具快捷键是什么?怎么设置快捷键
- 再有人问 Java 中的注解就把这篇文章丢给他!
- Gentoo 安装日记 21 (第一次重启)
- 寻仙新马源码一键端_强大,腾讯开源前后端接口开发工具!
- 科大奥锐实验报告霍尔效应_大学物理实验报告系列之霍尔效应
- linux根目录下各文件的作用
- 曾经如日中天的VB编程,现已没落,而惨遭嫌弃的它,成了香饽饽
- 巴特沃斯低通滤波器 matlab,利用matlab设计巴特沃斯低通滤波器
- 制作开心网页游戏 HTML+CSS静态网页
- android 音频文件下载
- 浏览器主流内核分析,浏览器版本过低升级方法
- 拿下国产高端市场第一背后,vivo与苹果、华为的共性
- 实践小笔记(1) --- DBSCAN
- nb信号和4g信号_【行业】万物互联的世界NB-IoT VS 4G,到底哪个更能打?
- python爬虫-北京租房可视化分析
- 漫画:什么是IaaS、PaaS、SaaS?
- Kafka 消息中间件
- fuchsiaos和鸿蒙os区别,谷歌Fuchsia OS和华为鸿蒙系统(HarmonyOS)没有必然联系