我正在玩AWS S3文件上传。该应用程序是用Python编写的,我正在通过curl对其进行发布。
问题在于,每次我通过curl张贴此.jpg图像时,都会将其复制到我的根应用程序目录中,这不是预期的行为。我只想将此图像发送到S3,而不存储。
有任何提示吗? 卷曲不对吗?
卷曲:
curl -F 'file=@/home/mat/Downloads/penguinuhh-c8HSJgY2Do4-unsplash.jpg' localhost:5000/upload/testuser121
Python代码:
@app.route("/upload/<userid>", methods=["POST"])
def upload(userid: str):
if request.method == "POST":
f = request.files["file"]
if f and allowed_file(f.filename):
f.save(f.filename)
s3_service.upload_file(userid, f"{f.filename}", app.config["S3_BUCKET"])
return redirect("/storage")
def upload_file(userid, file_name, bucket):
# Create directory for each image.
image_dir = file_name[:-3]
object_name = userid + "/" + image_dir + "/image/" + file_name
s3_client = boto3.client('s3')
response = s3_client.upload_file(file_name, bucket, object_name)
return response