gpt4 book ai didi

python - 使用 flask 上传文件到亚马逊s3

转载 作者:太空狗 更新时间:2023-10-30 00:45:11 24 4
gpt4 key购买 nike

这是处理上传请求的代码:

@app.route('/upload', methods=['POST'])
def upload():
if request.method == 'POST':
test = request
data_file = request.files.get('file')
file_name = data_file.filename
conn = S3Connection(settings.ACCESS_KEY, settings.SECRET_KEY)
bucket = conn.get_bucket(settings.BUCKET_NAME)
k = Key(bucket)
k.key = 'file_test.jpg'
# k.set_contents_from_file(data_file)
k.set_contents_from_string(data_file.readlines())

# return jsonify(name=file_name)
return jsonify(name=file_name)

我尝试了 3 个选项:

k.set_contents_from_string(data_file.readlines())
k.set_contents_from_file(data_file)
k.set_contents_from_stream(data_file.readlines())

那么上传文件到amazon s3的正确方法是什么?

最佳答案

这是一个fully-functioning example如何使用 HTML 文件输入标签、Python、Flask 和 Boto 将多个文件上传到 Amazon S3。”

完成这项工作的主要关键是 Flask 的 request.files.getlist 和 Boto 的 set_contents_from_string

一些提示:

  • 一定要设置S3 bucket权限和IAM用户权限,否则会上传失败。详细信息在自述文件中。
  • 不要忘记在您的 HTML 表单标签中包含 enctype="multipart/form-data"
  • 不要忘记在您的 HTML 输入标签中包含属性 multiple
  • 不要忘记将 AWS 用户的凭证存储在自述文件中所示的环境变量中。确保这些环境变量在运行 Python 的 session 中可用。

关于python - 使用 flask 上传文件到亚马逊s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21224080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com