国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java AWS S3 文件上傳實(shí)現(xiàn)

這篇具有很好參考價值的文章主要介紹了Java AWS S3 文件上傳實(shí)現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、介紹

Amazon S3(Simple Storage Service)是亞馬遜云計算平臺提供的一種對象存儲服務(wù),可以用于存儲和檢索任意類型的數(shù)據(jù)。在Java開發(fā)中,我們可以通過AWS SDK for Java來實(shí)現(xiàn)與Amazon S3的集成。

官方文檔

https://docs.aws.amazon.com/zh_cn/sdk-for-java/v1/developer-guide/examples-s3.html

二、使用

1. 配置maven依賴

<!--amazon s3-->
 <dependency>
     <groupId>com.amazonaws</groupId>
     <artifactId>aws-java-sdk-s3</artifactId>
     <version>1.11.821</version>
 </dependency>

2. 配置yaml文件

aws:
  endpoint: your-endpoint
  accessKey: your-accesskey
  secretKey: your-secretkey
  bucketName: your-bucketname

3. 注入Bean

@Configuration
public class AwsS3Config {

    @Value("${aws.accessKey}")
    private String accessKey;

    @Value("${aws.secretKey}")
    private String secretKey;

    @Value("${aws.endpoint}")
    private String endpoint;

    @Value("${aws.bucketName}")
    private String bucketName;

    @Bean
    public AmazonS3 getAmazonS3() {

        // 創(chuàng)建連接
        ClientConfiguration config = new ClientConfiguration();

        AwsClientBuilder.EndpointConfiguration endpointConfig =
                new AwsClientBuilder.EndpointConfiguration(endpoint, Regions.CN_NORTH_1.getName());

        AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey);
        AWSCredentialsProvider awsCredentialsProvider = new AWSStaticCredentialsProvider(awsCredentials);

        AmazonS3 s3 = AmazonS3Client.builder()
                .withEndpointConfiguration(endpointConfig)
                .withClientConfiguration(config)
                .withCredentials(awsCredentialsProvider)
                .disableChunkedEncoding()
                .withPathStyleAccessEnabled(true)
                .build();
        return s3;
    }

}

4. 編寫service層

@Slf4j
@Service
public class AwsS3Service {


    @Value("${aws.bucketName}")
    private String bucketName;

    @Autowired
    private AmazonS3 amazonS3;

 	public String upload(MultipartFile multipartFile) {
       if (multipartFile.isEmpty()) {
           throw new RuntimeException("文件為空!");
       }
       try {
           ObjectMetadata objectMetadata = new ObjectMetadata();
           objectMetadata.setContentType(multipartFile.getContentType());
           objectMetadata.setContentLength(multipartFile.getSize());
           // 文件后綴
//            String suffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
           String key = UUID.randomUUID().toString();
           // 桶不在則創(chuàng)建桶
           if (!amazonS3.doesBucketExistV2(bucketName)) {
               amazonS3.createBucket(bucketName);
           }
           PutObjectResult putObjectResult = amazonS3.putObject(new PutObjectRequest(bucketName, key, multipartFile.getInputStream(), objectMetadata));
           // 上傳成功
           if (null != putObjectResult) {
               GeneratePresignedUrlRequest urlRequest = new GeneratePresignedUrlRequest(bucketName, key);
               URL url = amazonS3.generatePresignedUrl(urlRequest);
               // 返回url
               return url.toString();
           }
       } catch (Exception e) {
           log.error("Upload files to the bucket,Failed:{}", e.getMessage());
           e.printStackTrace();
       }
       return null;
   }
}

5. 編寫controller層

@RestController
@RequestMapping("file")
@Api(tags = "文件上傳")
public class FileController {

    @Autowired
    private AwsS3Service awsS3Service;

    @PostMapping("upload")
    @ApiOperation("文件上傳接口")
    public APIResponse<String> abilityPictureUpload(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
    
        String url = awsS3Service.upload(file);
        if (StringUtils.isNotEmpty(url)) {
            return APIResponse.success(url);
        }
        return APIResponse.fail("文件上傳失敗");
    }
}

6. 測試運(yùn)行結(jié)果

aws-java-sdk-s3,Java,java,aws,1024程序員節(jié)文章來源地址http://www.zghlxwxcb.cn/news/detail-833894.html

到了這里,關(guān)于Java AWS S3 文件上傳實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [ 云計算 | AWS 實(shí)踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾

    [ 云計算 | AWS 實(shí)踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾

    本文收錄于【#云計算入門與實(shí)踐 - AWS】專欄中,收錄 AWS 入門與實(shí)踐相關(guān)博文。 本文同步于個人公眾號:【 云計算洞察 】 更多關(guān)于云計算技術(shù)內(nèi)容敬請關(guān)注:CSDN【#云計算入門與實(shí)踐 - AWS】專欄。 本系列已更新博文: [ 云計算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶

    2024年02月08日
    瀏覽(33)
  • 5、AWS SDK for Go-使用s3manager上傳下載文件

    5、AWS SDK for Go-使用s3manager上傳下載文件

    文檔地址:傳送門 上傳和下載管理器可以分解大型對象,以便可以將它們分成多個部分并行傳輸。這使得恢復(fù)中斷的傳輸變得容易。 S3 下載管理器確定文件是否可以拆分為更小的部分并并行下載。您可以自定義并行下載的數(shù)量和下載部分的大小。 S3 上傳管理器確定文件是否

    2024年02月15日
    瀏覽(24)
  • [ 云計算 | AWS 實(shí)踐 ] 使用 Java 列出存儲桶中的所有 AWS S3 對象

    [ 云計算 | AWS 實(shí)踐 ] 使用 Java 列出存儲桶中的所有 AWS S3 對象

    本文收錄于【#云計算入門與實(shí)踐 - AWS】專欄中,收錄 AWS 入門與實(shí)踐相關(guān)博文。 本文同步于個人公眾號:【 云計算洞察 】 更多關(guān)于云計算技術(shù)內(nèi)容敬請關(guān)注:CSDN【#云計算入門與實(shí)踐 - AWS】專欄。 本系列已更新博文: [ 云計算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶

    2024年02月06日
    瀏覽(21)
  • AWS s3 使用教程,前后端Java+html開發(fā)教程

    AWS s3 使用教程,前后端Java+html開發(fā)教程

    目錄 一、 AWS S3配置說明 1. S3?Bucket配置 1.1 ACL配置 1.2 存儲桶策略配置 1.3 跨源資源共享配置 2. IAM配置 2.1 創(chuàng)建S3UploadPolicy策略 2.2 創(chuàng)建S3的Role 3. EC2配置 3.1 EC2添加role 二、S3 HTML+JAVA代碼實(shí)現(xiàn) 三、AWS cloudfront 及Signed url 四、相關(guān)文檔 S3 Bucket包括ACL配置、存儲桶策略配置及跨源資

    2024年02月03日
    瀏覽(73)
  • [ 云計算 | AWS 實(shí)踐 ] 使用 Java 更新現(xiàn)有 Amazon S3 對象

    [ 云計算 | AWS 實(shí)踐 ] 使用 Java 更新現(xiàn)有 Amazon S3 對象

    本文收錄于【#云計算入門與實(shí)踐 - AWS】專欄中,收錄 AWS 入門與實(shí)踐相關(guān)博文。 本文同步于個人公眾號:【 云計算洞察 】 更多關(guān)于云計算技術(shù)內(nèi)容敬請關(guān)注:CSDN【#云計算入門與實(shí)踐 - AWS】專欄。 本系列已更新博文: [ 云計算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶

    2024年02月05日
    瀏覽(26)
  • php對接AWS S3云存儲,上傳S3及訪問權(quán)限問題

    php對接AWS S3云存儲,上傳S3及訪問權(quán)限問題

    首先先下載sdk包 https://docs.aws.amazon.com/zh_cn/sdk-for-php/v3/developer-guide/getting-started_installation.html S3創(chuàng)建存儲桶 去安全憑證-》創(chuàng)建訪問秘鑰 創(chuàng)建的時候會提示,主賬號創(chuàng)建不安全,這個時候我們需要創(chuàng)建一個IAM賬號來創(chuàng)建秘鑰 創(chuàng)建的步驟訪問這個鏈接 https://www.codenong.com/a513c91ea

    2024年02月10日
    瀏覽(19)
  • [ 云計算 | AWS ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶和對象操作完全指南

    [ 云計算 | AWS ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶和對象操作完全指南

    本文收錄于【#云計算入門與實(shí)踐 - AWS】專欄中,收錄 AWS 入門與實(shí)踐相關(guān)博文。 本文同步于個人公眾號:【 云計算洞察 】 更多關(guān)于云計算技術(shù)內(nèi)容敬請關(guān)注:CSDN【#云計算入門與實(shí)踐 - AWS】專欄。 本系列已更新博文: [ 云計算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶

    2024年02月11日
    瀏覽(47)
  • [ 云計算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶和對象操作完全指南

    [ 云計算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶和對象操作完全指南

    本文收錄于【#云計算入門與實(shí)踐 - AWS】專欄中,收錄 AWS 入門與實(shí)踐相關(guān)博文。 本文同步于個人公眾號:【 云計算洞察 】 更多關(guān)于云計算技術(shù)內(nèi)容敬請關(guān)注:CSDN【#云計算入門與實(shí)踐 - AWS】專欄。 本系列已更新博文: [ 云計算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶

    2024年02月08日
    瀏覽(25)
  • [ 云計算 | AWS 實(shí)踐 ] 使用 Java 檢查指定的密鑰是否存在于給定的 Amazon S3 存儲桶中

    [ 云計算 | AWS 實(shí)踐 ] 使用 Java 檢查指定的密鑰是否存在于給定的 Amazon S3 存儲桶中

    本文收錄于【#云計算入門與實(shí)踐 - AWS】專欄中,收錄 AWS 入門與實(shí)踐相關(guān)博文。 本文同步于個人公眾號:【 云計算洞察 】 更多關(guān)于云計算技術(shù)內(nèi)容敬請關(guān)注:CSDN【#云計算入門與實(shí)踐 - AWS】專欄。 本系列已更新博文: [ 云計算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶

    2024年02月05日
    瀏覽(54)
  • 【AWS】API Gateway創(chuàng)建Rest API--從S3下載文件

    【AWS】API Gateway創(chuàng)建Rest API--從S3下載文件

    ?一、背景 在不給AK,SK的前提下,用戶查看s3上文件(從s3下載文件) 二、創(chuàng)建API 1、打開API Gateway,點(diǎn)擊創(chuàng)建API,選擇REST API REST API和HTTP API區(qū)別:(來自AWS官網(wǎng)) REST API 和 HTTP API 都是 RESTful API 產(chǎn)品。REST API 支持的功能比 HTTP API 多,而 HTTP API 在設(shè)計時功能就極少,因此能夠

    2024年02月11日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包