2017-01-18 4 views
0

Я пытаюсь загрузить несколько файлов с flask_restful, но не могу получить список имен файлов в аргументах, кроме первого имени файла, как я могу получить список файлов с помощью args?Как загрузить несколько файлов с flask_restful?

вот мой код,

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 
     ...... 

, что я получил это:

* 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 - 

на самом деле я выбрал два файла simple_api-master.zip, simple_api-мастер-old.rar и передается значение throught post, поэтому функция print должна выводить u'simple_api-master.zip ', u'simple_api-master-old.rar', но теперь она выводит только первое имя файла, что мне делать, чтобы получить список файлов?

ответ

0

В принципе, просто добавьте

действие = 'Append'

Ваш код должен быть в настоящее время: parser.add_argument('file', type=werkzeug.FileStorage, location='files',required=True, action='append')

Смежные вопросы