2024-09-27 20:16:02 发布
网友
默认情况下,如果ContentType未显式设置,boto3将使用Content-Type: binary/octet-stream将文件上载到s3。当使用s3作为静态宿主时,这是不好的。到现在为止,there is PR是为了这个。在
ContentType
boto3
Content-Type: binary/octet-stream
s3
import boto3 import os import mimetypes def upload_files(path): session = boto3.Session( aws_access_key_id='YOUR_AWS_ACCESS_KEY_ID', aws_secret_access_key='YOUR_AWS_SECRET_ACCESS_KEY_ID', region_name='YOUR_ACCOUNT_REGION' ) s3 = session.resource('s3') bucket = s3.Bucket('YOUR_BUCKET_NAME') for subdir, dirs, files in os.walk(path): for file in files: full_path = os.path.join(subdir, file) file_mime = mimetypes.guess_type(file)[0] or 'binary/octet-stream' with open(full_path, 'rb') as data: bucket.put_object(Key=full_path[len(path)+1:], Body=data, ContentType=file_mime) if __name__ == "__main__": upload_files('/path/to/your/folder')
相关问题 更多 >
编程相关推荐