zoukankan      html  css  js  c++  java
  • flask和flask-restful接收file请求处理,以及压缩文件处理

    code

    import werkzeug
    from flask import Flask
    import tarfile
    from flask_restful import Resource, Api, reqparse
    from werkzeug.datastructures import FileStorage
    from werkzeug.utils import secure_filename
    import os
     
    app = Flask(__name__)
    api = Api(app)
     
     
    parser = reqparse.RequestParser()
    parser.add_argument('picture', type=werkzeug.datastructures.FileStorage, location='files')
     
     
    class HelloWorld(Resource):
        def post(self):
            args = parser.parse_args()
            content = args.get('picture')
            filename = secure_filename(content.filename)
            content.save(os.path.join('/home/zlp/', filename))
            
            def extract(tar_path, target_path):
                try:
                    tar = tarfile.open(tar_path, "r:gz")
                    file_names = tar.getnames()
                    for file_name in file_names:
                        tar.extract(file_name, target_path)
                    tar.close()
                except Exception as e:
                    raise e
            extract('/home/zlp/{}'.format(filename), '/home/zlp/result')
            return {'hello': 'world'}
     
     
    api.add_resource(HelloWorld, '/')
     
    if __name__ == '__main__':
        app.run(debug=True)

  • 相关阅读:
    网页Tab控件
    ivy在eclipse中的重新加载
    es删除文档或者删除索引
    es修改数据
    es中插入数据
    创建es索引-格式化和非格式化
    MySQL常用字符串函数
    python各种类型转换
    python 3.4读取输入参数
    python异常捕获异常堆栈输出
  • 原文地址:https://www.cnblogs.com/sea-stream/p/14176355.html
Copyright © 2011-2022 走看看