Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用itext在AmazonS3上存储pdf文件_Java_Spring_Amazon S3_Amazon Ec2_Itext - Fatal编程技术网

Java 使用itext在AmazonS3上存储pdf文件

Java 使用itext在AmazonS3上存储pdf文件,java,spring,amazon-s3,amazon-ec2,itext,Java,Spring,Amazon S3,Amazon Ec2,Itext,这是我第一次使用AmazonS3,我想存储我在JavaSpring中使用itext创建的pdf文件 代码(托管在ec2实例上)创建了一个pdf,我想将其存储在某个地方。我正在探索AmazonS3是否可以保存这些文件。最后,我也想找回它。这可以使用itext和JavaSpring来完成吗?任何例子都很好 要将文件上载到Amazon s3,您需要使用AmazonS3Client类的putObject方法,如下所示: AWSCredentials credentials = new Basic

这是我第一次使用AmazonS3,我想存储我在JavaSpring中使用itext创建的pdf文件


代码(托管在ec2实例上)创建了一个pdf,我想将其存储在某个地方。我正在探索AmazonS3是否可以保存这些文件。最后,我也想找回它。这可以使用itext和JavaSpring来完成吗?任何例子都很好

要将文件上载到Amazon s3,您需要使用AmazonS3Client类的
putObject
方法,如下所示:

    AWSCredentials credentials = new BasicAWSCredentials(appId,appSecret);
    AmazonS3 s3Client = new AmazonS3Client(credentials);

    String bucketPath = "YOUR_BUCKET_NAME/FOLDER_INSIDE_BUCKET";
    InputStream is = new FileInputStream("YOUR_PDF_FILE_PATH");
    ObjectMetadata meta = new ObjectMetadata();
    meta.setContentLength(is.available());
    s3Client.putObject(new PutObjectRequest(bucketPath,"YOUR_FILE.pdf", is, meta).withCannedAcl(CannedAccessControlList.Private));
  AWSCredentials credentials = new BasicAWSCredentials(appId,appSecret);
  AmazonS3 s3Client = new AmazonS3Client(credentials);

  GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest("YOUR_BUCKET_NAME", "FOLDER_INSIDE_BUCKET/YOUR_FILE.pdf");

  generatePresignedUrlRequest.setMethod(HttpMethod.GET); 

  Date expiration = new Date();
  long milliSeconds = expiration.getTime();
  milliSeconds += 1000 * 60 * 60; // Add 1 hour.
  expiration.setTime(milliSeconds);
  generatePresignedUrlRequest.setExpiration(expiration);
  URL url = s3Client.generatePresignedUrl(generatePresignedUrlRequest); 
  String finalUrl  = url.toString();  
要从S3获取文件,您需要生成一个预签名URL以访问S3中的私有文件,或者如果您的文件是公共文件,则您可以通过点击浏览器中的文件链接直接访问您的文件,AWS S3控制台中将提供您文件的链接

此外,我们在上述上传代码中指定了
CannedAccessControlList.Private
,这意味着我们将文件权限设置为Private,因此我们需要生成预签名的URL来访问文件,如下所示:

    AWSCredentials credentials = new BasicAWSCredentials(appId,appSecret);
    AmazonS3 s3Client = new AmazonS3Client(credentials);

    String bucketPath = "YOUR_BUCKET_NAME/FOLDER_INSIDE_BUCKET";
    InputStream is = new FileInputStream("YOUR_PDF_FILE_PATH");
    ObjectMetadata meta = new ObjectMetadata();
    meta.setContentLength(is.available());
    s3Client.putObject(new PutObjectRequest(bucketPath,"YOUR_FILE.pdf", is, meta).withCannedAcl(CannedAccessControlList.Private));
  AWSCredentials credentials = new BasicAWSCredentials(appId,appSecret);
  AmazonS3 s3Client = new AmazonS3Client(credentials);

  GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest("YOUR_BUCKET_NAME", "FOLDER_INSIDE_BUCKET/YOUR_FILE.pdf");

  generatePresignedUrlRequest.setMethod(HttpMethod.GET); 

  Date expiration = new Date();
  long milliSeconds = expiration.getTime();
  milliSeconds += 1000 * 60 * 60; // Add 1 hour.
  expiration.setTime(milliSeconds);
  generatePresignedUrlRequest.setExpiration(expiration);
  URL url = s3Client.generatePresignedUrl(generatePresignedUrlRequest); 
  String finalUrl  = url.toString();  

要将文件上载到Amazon s3,您需要使用AmazonS3Client类的
putObject
方法,如下所示:

    AWSCredentials credentials = new BasicAWSCredentials(appId,appSecret);
    AmazonS3 s3Client = new AmazonS3Client(credentials);

    String bucketPath = "YOUR_BUCKET_NAME/FOLDER_INSIDE_BUCKET";
    InputStream is = new FileInputStream("YOUR_PDF_FILE_PATH");
    ObjectMetadata meta = new ObjectMetadata();
    meta.setContentLength(is.available());
    s3Client.putObject(new PutObjectRequest(bucketPath,"YOUR_FILE.pdf", is, meta).withCannedAcl(CannedAccessControlList.Private));
  AWSCredentials credentials = new BasicAWSCredentials(appId,appSecret);
  AmazonS3 s3Client = new AmazonS3Client(credentials);

  GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest("YOUR_BUCKET_NAME", "FOLDER_INSIDE_BUCKET/YOUR_FILE.pdf");

  generatePresignedUrlRequest.setMethod(HttpMethod.GET); 

  Date expiration = new Date();
  long milliSeconds = expiration.getTime();
  milliSeconds += 1000 * 60 * 60; // Add 1 hour.
  expiration.setTime(milliSeconds);
  generatePresignedUrlRequest.setExpiration(expiration);
  URL url = s3Client.generatePresignedUrl(generatePresignedUrlRequest); 
  String finalUrl  = url.toString();  
要从S3获取文件,您需要生成一个预签名URL以访问S3中的私有文件,或者如果您的文件是公共文件,则您可以通过点击浏览器中的文件链接直接访问您的文件,AWS S3控制台中将提供您文件的链接

此外,我们在上述上传代码中指定了
CannedAccessControlList.Private
,这意味着我们将文件权限设置为Private,因此我们需要生成预签名的URL来访问文件,如下所示:

    AWSCredentials credentials = new BasicAWSCredentials(appId,appSecret);
    AmazonS3 s3Client = new AmazonS3Client(credentials);

    String bucketPath = "YOUR_BUCKET_NAME/FOLDER_INSIDE_BUCKET";
    InputStream is = new FileInputStream("YOUR_PDF_FILE_PATH");
    ObjectMetadata meta = new ObjectMetadata();
    meta.setContentLength(is.available());
    s3Client.putObject(new PutObjectRequest(bucketPath,"YOUR_FILE.pdf", is, meta).withCannedAcl(CannedAccessControlList.Private));
  AWSCredentials credentials = new BasicAWSCredentials(appId,appSecret);
  AmazonS3 s3Client = new AmazonS3Client(credentials);

  GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest("YOUR_BUCKET_NAME", "FOLDER_INSIDE_BUCKET/YOUR_FILE.pdf");

  generatePresignedUrlRequest.setMethod(HttpMethod.GET); 

  Date expiration = new Date();
  long milliSeconds = expiration.getTime();
  milliSeconds += 1000 * 60 * 60; // Add 1 hour.
  expiration.setTime(milliSeconds);
  generatePresignedUrlRequest.setExpiration(expiration);
  URL url = s3Client.generatePresignedUrl(generatePresignedUrlRequest); 
  String finalUrl  = url.toString();  

只需使用java,您就可以将文件移动到S3(谷歌?:)或者只需使用java,您就可以将文件移动到S3(谷歌?:)或者像个魔术师一样工作……)工作得很有魅力……)