1

現在、swagger 操作を使用して複数のファイルのアップロードを行っています。以下は、私が使用しているコードです。

class uploadImage(Resource):

  @swagger.operation(

        notes='Upload an image file',

        parameters=[
          {
            "name": "file[]",
            "description": "Upload an image file. File size limit is 3MB. Only '.jpg' is allowed ",
            "required": True,
            "allowMultiple": True,
            "dataType": 'file',
            "paramType": "form"
          }
])

def post(self):
    files=request.files.getlist['file[]']
    filenames = []
    for file in files:
        filename = secure_filename(file.filename)
        filenames.append(filename)
        print "Files are uploaded successfully"

コードに"allowMultiple":Trueを挿入しましたが、swagger UI には表示されませんでした。サーバーが起動したら、html ソース コードを表示しようとしましたが、「複数」がフォームに表示されません。

以下は、サーバーが稼働している場合の swagger ui のソース コードです。

<input class="parameter" type="file" name="file[]">

には「複数」という単語がありません。

ソースコードを編集して、以下のように「複数」という単語を追加すると、複数のファイルを選択できます。

<input class="parameter" type="file" name="file[]" multiple>

この場合、 "allowMultiple":Trueは機能しないようです。

私へのアイデアや提案はありますか?

ありがとうございました。

4

2 に答える 2

3

それは Swagger ではサポートされていません。https://github.com/swagger-api/swagger-spec/issues/254を参照してください。

于 2015-08-03T21:48:07.307 に答える