如何在Restful Flask中上传文件?

3
我在REST框架中还比较新手。我正在尝试使用Restful Flask。最初的例子很好,但我想通过Restful Flask上传文件。我尝试了一些基于Web的材料,如: http://docs.python-requests.org/en/latest/user/quickstart/#post-a-multipart-encoded-file http://blog.luisrei.com/articles/flaskrest.html Flask-RESTful - Upload image 但是我无法找到解决方案。如果有尊敬的成员能够友情提示一个解决方案,我该如何解决呢?
我正在Windows 7上使用Python2.7.10。
1个回答

3

如果想通过flask上传文件,你需要进行两个步骤的操作。

第一步,在你的main.py中定义一个路由:

@app.route('/file-upload', methods=['POST'])
@authorized
def file_upload(authorization_result=None):
    res = Utility()
    return res.file_upload(auth_result=authorization_result)

2- 在我们的样例中,我们定义了一个名为Utility的类,并定义了一个名为file_upload的方法,用于文件上传。让我们看一下文件上传部分的代码:

        def file_upload(self, auth_result):
            file_upload = request.files['file']
            if file_upload:
                filename = secure_filename(file_upload.filename)
                file_upload.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
                app.logger.debug('File is saved as %s', filename)

现在您需要测试您的API。我在这里使用了POSTMAN:

enter image description here


谢谢。但是你指的是哪个原始教程?我正在尝试找到Utility类。如果你能给我们提供URL,那就太好了。 - Richard Parker
这是从我的项目中提取的一部分。你可以在网上搜索,有很多教程。Utility类被声明为使生活更轻松,你可以将其删除并将所有代码移动到主路线中。 - Alireza
@AlirezaHos,您能否请更新答案并提供通过POSTMAN测试API的详细信息。 - Rohit Srivastava

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接