亚马逊S3Client实现上传下载功能
首先引入依赖
<dependency><groupId>software.amazon.awssdk</groupId><artifactId>s3</artifactId><version>2.18.8</version></dependency>
上传下载
/*** 上传文件*/
public File uploadFile(MultipartFile multipartFile, String location) {try {S3Client s3Client = getS3Client();s3Client.putObject(PutObjectRequest.builder().bucket(bucketName).key(location + "/" + multipartFile.getOriginalFilename()).contentLength(multipartFile.getSize()).contentType(multipartFile.getContentType()).build(), RequestBody.fromBytes(multipartFile.getBytes()));} catch (Exception e) {log.error("s3Client上传文件File模式异常 " + e.getMessage(), e);}return file;}
/*
*下载
*/public byte[] getDownloadFile(String bucketName, String key) {S3Client s3Client = getS3Client();ResponseBytes<GetObjectResponse> responseBytes = s3Client.getObjectAsBytes(GetObjectRequest.builder().bucket(bucketName).key(key).build());return responseBytes.asByteArray();}// 获取连接public static S3Client getS3Client() {return S3Client.builder().region(Region.AP_SOUTHEAST_1).credentialsProvider(new AwsCredentialsProvider() {@Overridepublic AwsCredentials resolveCredentials() {return AwsBasicCredentials.create(accessKey, secretKey);}}).build();}/*** 文件移动* @param searchFolder 源文件地址* @param bakFolder 新地址前一个文件夹* @param downloadFileName 文件名* @param rootFolder 新地址*/public void moveFileToDir(String searchFolder,String bakFolder, String downloadFileName, String rootFolder) {S3Client s3Client = getS3Client();String oldPath = searchFolder + downloadFileName;String newPath = searchFolder + bakFolder + "/" + rootFolder + "/" + downloadFileName;s3Client.copyObject(CopyObjectRequest.builder().sourceBucket(bucketName).sourceKey(oldPath).destinationBucket(bucketName).destinationKey(newPath).build());// 判断转移文件成功就删除旧位置ListObjectsV2Response listObjectsV2Response = s3Client.listObjectsV2(ListObjectsV2Request.builder().bucket(bucketName).prefix(newPath).build());List<S3Object> contents = listObjectsV2Response.contents();if (CollectionUtil.isNotEmpty(contents)) {s3Client.deleteObject(DeleteObjectRequest.builder().bucket(bucketName).key(searchFolder + downloadFileName).build());}}
亚马逊S3Client实现上传下载功能相关推荐
- 亚马逊MWS开发--上传商品常见错误
一.错误来源 不管通过哪种方式上传商品都会出现各种问题,每一类问题亚马逊都有固定的错误码,比如常见5000,8541等,这些错误都会体现在上传的结果报告中 <?xml version=" ...
- Ubuntu 配置亚马逊 aws cli 上传文件文件夹至 亚马逊 AWS S3
当使用亚马逊云服务器进行深度学习模型训练时,需要将数据集上传,相比使用 UI 界面上传,使用命令行方式具有更快的上传速率. 配置步骤 安装 aws cli 客户端: pip install awscl ...
- 亚马逊html怎么上传,亚马逊 帮助: 如何上传“在线试读”文件
如何上传"在线试读"文件 亚马逊的"在线试读"项目允许出版商以PDF格式提交图书的电子内容.下列常见问答描述了提交的格式标准和要求. 我需要具备什么条件才能参加 ...
- 亚马逊买家秀视频拍摄上传
买家秀也叫关联视频,上传在videos的位置,这个位置有10个坑位,前5个属于这个listing,如果卖家没有自己的买家秀,那么亚马逊将会推荐竞品的买家秀,你从而流失流量和成交 关联视频主要有以下几种 ...
- 亚马逊服务器文件上传,将文件从亚马逊托管站点上传到其他FTP服务器
我能够在主动传输模式下使用filezilla连接到该服务器.我也在代码中设置了相同的内容,但无法上传文件. 请找到下面的代码. //将处理程序注册到CommandResponse事件. myclien ...
- 英方软件科创板敲钟上市;亚马逊启动史上最大规模裁员;我国5G用户超全球平均水平2.75倍丨每日大事件...
数据智能产业创新服务媒体 --聚焦数智 · 改变商业 IPO 英方软件科创板敲钟上市 上海英方软件股份有限公司(简称"英方软件",688435.SH)于19日在上交所科创板上 ...
- FB接连出事儿?上亿用户记录在亚马逊云服务器上就公之于众了……下滑到第七?领英说苹果怎么就不受雇员欢迎了呢? | 极客头条...
戳蓝字"CSDN云计算"关注我们哦! 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快. ...
- 解决方案丨FortiGate NGFW在亚马逊云科技上的五大应用场景
近日,2022年亚马逊云科技中国峰会圆满落幕!峰会指出,云计算已经成为各行各业数字化转型的技术底座.上云的趋势已经从互联网行业拓展到传统行业.全球网络安全领导者.亚马逊云科技的发布合作伙伴(Launc ...
- 在亚马逊云科技上搭建静态无服务器 Wordpress,每天仅需 0.01 美元
声明:本文转自 DEV Community 网站,文章翻译由开发者社区提供: 点击下方链接,查看英文原文: https://dev.to/aws-builders/s... 你可能认为这篇文章是标题党 ...
最新文章
- [软件架构:设计模式系列C#篇]系列教程汇总
- final 修饰方法参数
- DB2sql——DB2临时表的创建
- 计算机检索规则,搜索引擎的语法规则
- 组织软件测试中应当避免的几个常见现象
- BestCoder22 1003.NPY and shot 解题报告
- Python 安装第三方库,模块和包的安装方法
- java使用nio读写文件
- 从二项分布到泊松分布再到正态分布
- 课文电子计算机与多媒体减写,课文电子计算机与多媒体关系介绍
- java textarea 自动滚动条,textarea根据内容自动延伸,不显示滚动条
- ceisum加载shp格式的城市白模建筑数据
- ARFoundation系列讲解 - 66 AR虚拟试戴
- 关于折叠屏手机的适配
- 项目管理知识体系指南 PMBOK(第6版)十大知识领域思维导图(总览图)
- 信息搜集-读取微信聊天记录
- python实现情感分析
- 个人编译移动内核时遇到的一些问题报错及处理方法【不定时更新2021.1.3】
- java excel 饼图,java 导入导出excle 和 生成柱状图饼状图的demo/excle数据如何转成饼状图...
- 黑客瞄准里约奥运会,多种手法可能让你中招