无法使用python上传仅包含图像的pdf到S3桶



我已经将图像转换为pdf并存储在名为" test "的文件夹中。

我需要将test文件夹中的所有文件上传到S3

当前情况:在S3中创建的文件是空的。我猜想是因为源pdf文件只包含一个图像。我无法找到一种方法来确保pdf的图像也被上传

下面是我的代码:

import os
import boto3
import botocore
import sys
SERVICE_NAME = 's3'
AWS_ACCESS_KEY_ID = 'XXXX'
AWS_SECRET_ACCESS_KEY = 'XXXXX+A'
AWS_S3_ENDPOINT_URL = 'https://s3.amazonaws.com'
AWS_STORAGE_BUCKET_NAME = 'resolution-medical/resolution_scanner'
AWS_STORAGE_BUCKET_NAME = 'resolution-medical'
source_folder = '/home/irfan/Downloads/test'
arr = os.listdir(source_folder)
for each in arr:
try:
arr2 = os.listdir(source_folder + '/' + each)
except:
arr2 = []
if len(arr2) == 0:
filepath = 'resolution_scanner/' + each
fileobject = source_folder+ '/' + each
conn = boto3.resource(
service_name=SERVICE_NAME,
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
endpoint_url=AWS_S3_ENDPOINT_URL)
conn.Object(AWS_STORAGE_BUCKET_NAME, filepath).put(Body=fileobject, ACL='public-read', ContentType='application/pdf')
sys.exit()

似乎编码问题发生在put()上。这是一个用java解决的问题。对我来说,使用upload_file()是这样的:

import boto3
file = "PDF/aaaaa.pdf"
s3 = boto3.resource("s3")
s3.Object("my-bucket-test", "test.pdf").upload_file(file)

最新更新