【发布时间】:2021-12-03 20:05:12
【问题描述】:
当我使用 boto3 将图像上传到 s3 时,如何更改图像名称并保存它。
例如)日期时间.jpg
请帮忙....
@app.route('/fileupload', methods=['POST'])
def file_upload():
file = request.files['file']
s3 = boto3.client('s3',
aws_access_key_id="mykey",
aws_secret_access_key="myaccesskey"
)
s3.put_object(
ACL="public-read",
Bucket="burket",
Body=file,
Key=file.filename,
ContentType=file.content_type)
print(url)
return jsonify({'result': 'success'})
function save() {
let form_data = new FormData($('#upload-file')[0]);
$.ajax({
type: 'POST',
url: '/fileupload',
data: form_data,
processData: false,
contentType: false,
success: function (data) {
alert("success!");
},
});
}
我认为我们可以使用此代码。 但无法使用。
extension = file.filename.split('.')[-1]
today = datetime.now()
mytime = today.strftime('%Y-%m-%d-%H-%M-%S')
filename = f'file-{mytime}'
【问题讨论】:
-
在调用 put_object 时提供您喜欢的任何 Key 参数。您不必使用上传的文件名。
-
Key参数的存在完全相同的目的 - 不需要重命名文件本身。
标签: javascript python amazon-web-services amazon-s3 boto3