0

我正在创建一个连接到 Amazon S3 以保存用户上传文件的 django 应用程序。这是使用 django-storages 完成的。

在应用程序运行期间会生成一个 CSV 文件。我可以在本地保存文件。但是如何在不保存本地的情况下直接将文件上传到S3,同时将文件S3 URL保存在数据库中呢?

我曾尝试使用 StringIO 但会生成 TypeError: Unicode objects must be encrypted before hashing

任何建议/解决方案将不胜感激!

4

1 回答 1

1
// 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))
于 2020-07-24T12:31:23.563 回答