use*_*411 4 args flask-restful
我正在尝试使用flask_restful上传多个文件,但是除了第一个文件名之外无法在参数中获取文件名列表,我如何使用args获取文件列表?
这是我的代码,
from models import Server
import werkzeug
from werkzeug import secure_filename
from settings import upload_folder,allowed_extensions,currentWorkingPath,os,sys,reqparse,Resource
from settings import fields,marshal_with,abort
from settings import redirect, url_for
'''
#######################################################Uploads API
'''
uploads_fields = {
'uri': fields.Url('uploads', absolute=True)
}
parser = reqparse.RequestParser()
parser.add_argument('file', type=werkzeug.FileStorage, location='files',required=True)
class Uploads(Resource):
@marshal_with(uploads_fields)
def post(self):
args = parser.parse_args()
print 'file',args
......
Run Code Online (Sandbox Code Playgroud)
我得到的是:
* Restarting with stat
* Debugger is active!
* Debugger pin code: 115-504-357
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
file {'file': <FileStorage: u'simple_api-master.zip' ('application/octet-stream'
)>}
127.0.0.1 - - [18/Jan/2017 10:40:38] "POST /uploads/ HTTP/1.1" 200 -
Run Code Online (Sandbox Code Playgroud)
实际上我选择了两个文件 simple_api-master.zip,simple_api-master-old.rar 并通过 post 方法传值,所以打印函数应该输出 u'simple_api-master.zip',u'simple_api-master-old.rar ',但是现在它只输出第一个文件名,我该怎么做才能得到文件列表?
基本上,只需添加
动作='追加'
您的代码现在应该是: parser.add_argument('file', type=werkzeug.FileStorage, location='files',required=True, action='append')