curl POST-将文件添加到文件夹

时间:2020-05-18 13:46:19

标签: python linux amazon-web-services curl amazon-s3

我正在玩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

0 个答案:

没有答案