oss多线程 上传_阿里云 oss 小文件上传进度显示

本文介绍了在阿里云OSS上传小文件时如何实现进度显示。通过结合多线程监测Inputstream剩余字节数与检查已上传文件大小,实现了上传进度的动态展示。代码示例中详细展示了上传过程及进度更新的方法。
摘要由CSDN通过智能技术生成

对阿里云OSS上传小文件时的进度,想过两个方法:一是,通过多线程监测Inputstream剩余的字节数来计算,但是因为Inputstream在两个线程中共用,如果上传线程将Inputstream关闭,在监测线程就会报“句柄无效”的错误,甚至会导致上传失败;第二个方法是通过线程不断监测OSS上已经上传文件的大小,但是在文件完全上传前是不能获得文件大小的。最后突然灵感来了,把两个方法同时使用就能够监测文件上传的进度。看代码:// 上传小文件

private static void uploadSmallFile(final OSSClient client, final String bucketName,

final String key, final File uploadFile)

throws OSSException, ClientException, FileNotFoundException {

ObjectMetadata objectMeta = new ObjectMetadata();

objectMeta.setContentLength(uploadFile.length());

// 可以在metadata中标记文件类型

objectMeta.setContentType("application/pdf");

//对object进行服务器端加密,目前服务器端只支持x-oss-server-side-encryption加密

objectMeta.setHeader("x-oss-server-side-encryption", "AES256");

final InputStream input = new FileInputStream(upload

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值