通过Django直接上传CSV文件到S3
Uploading CSV files to S3 directly through Django
我正在创建一个连接到 Amazon S3 以保存用户上传文件的 Django 应用程序。这是使用 django-storages 完成的。
在应用程序运行期间,会生成一个 CSV 文件。我能够在本地保存文件。但是如何在不保存本地的情况下直接上传文件到S3,同时在数据库中保存文件S3URL?
我曾尝试使用 StringIO,但它会生成类型错误:Unicode 对象必须在散列之前进行编码
任何 suggestions/solutions 将不胜感激!
// Install boto3 first
import boto3
s3 = boto3.client('s3',
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY, )
// ...... Get your file or open file ......
file_name = your_file_here
// ......
s3.upload_file(file_name, AWS_STORAGE_BUCKET_NAME,
path_where_you_want_to_store))
// Ex: s3.upload_file(file_name, AWS_STORAGE_BUCKET_NAME,
// '%s/%s' % ('media/user/file', file_name))
我正在创建一个连接到 Amazon S3 以保存用户上传文件的 Django 应用程序。这是使用 django-storages 完成的。
在应用程序运行期间,会生成一个 CSV 文件。我能够在本地保存文件。但是如何在不保存本地的情况下直接上传文件到S3,同时在数据库中保存文件S3URL?
我曾尝试使用 StringIO,但它会生成类型错误:Unicode 对象必须在散列之前进行编码
任何 suggestions/solutions 将不胜感激!
// Install boto3 first
import boto3
s3 = boto3.client('s3',
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY, )
// ...... Get your file or open file ......
file_name = your_file_here
// ......
s3.upload_file(file_name, AWS_STORAGE_BUCKET_NAME,
path_where_you_want_to_store))
// Ex: s3.upload_file(file_name, AWS_STORAGE_BUCKET_NAME,
// '%s/%s' % ('media/user/file', file_name))