当前位置: 首页 > 知识库问答 >
问题:

Flasgger POST路由中的文件上传选择器

戎亦
2023-03-14

在Flasgger中,我试图为接受上传文件的路由创建文档。然而,尽管坚持规范,我不能在Flasgger UI中显示文件选择器。

我使用的是最新的(目前为止的)flasgger==0.9.1,运行OpenAPI3规范(如“OpenAPI”:'3.0.0'),我在Swagger-UI中看到了这个提交,它为POST文件请求启用了文件选择器。

我知道以前也有人问过类似的问题,但没有一个与OAS版本3有关。

Upload a file
Returns ID of uploaded file
---

tags:
- name: "attachments"
schemes:
- "http"

consumes:
- application/octet-stream
produces:
- application/json

requestBody:
  content:
    application/octet-stream:
      schema:
        type: file
        format: binary

responses:
  200:
    ... etc

共有1个答案

司徒翼
2023-03-14

您正在混合OpenAPI2.0和3.0语法。在OAS3中,文件被描述为二进制字符串,即type:string,而不是type:file。此外,OAS3中不使用consumesproducesschemes关键字。

尝试以下操作:

Upload a file
Returns ID of uploaded file
---

tags:
- attachments

requestBody:
  content:
    application/octet-stream:
      schema:
        type: string   # <-------
        format: binary

responses:
  '200':
    description: OK
    content:
      application/json:
        schema:
          # ... etc

注意OAS3文件上传需要Swager UI3.16.0+,但是Flassger0.9.1与UI3.14.2捆绑在一起,似乎没有办法更新捆绑的Swagger UI。这种可能性将在下一个更新中添加,Flassger 0.9.2:

 类似资料:
  • 问题内容: 控制器: 视图: Javascript: 但是,我得到一个错误 我试图从ajax发布数据和文件,但是它不起作用。我的问题是如何解决该错误?为什么控制器无法读取用户文件的内容? 谢谢 问题答案: 尝试将您的输入内容放入表单并提供id =’your_form_id表单,然后以这种方式在javascript中发送数据: 然后替换这行 有了这个 也设置以下:

  • 路由可以让你:

  • 本文向大家介绍PHP文件上传判断file是否己选择上传文件的方法,包括了PHP文件上传判断file是否己选择上传文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法。分享给大家供大家参考。具体方法如下: 一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台

  • 我正在尝试创建一个webservice,当调用它时,它会查看本地目录,从那里提取文件并上传到ftp服务器。 我可以创建一个简单的路由,从本地目录中选择文件并上传到ftp服务器,下面是代码: 但是,我想在通过restlet webservice调用特定路由时调用此文件传输,我尝试了以下代码,但没有成功: restlet从以下路径调用上述路径: 以下是我的serviceRouteProcessor的代

  • 例如,在具有分页列表的路由上,网址可能如下所示,表示我们已加载第二个网页: 使用指令和来传递查询参数。例如: 或者,我们可以使用服务通过JS跳转: 读取查询参数 See Official Documentation on Query Parameters

  • 我可以使用查询参数传递 studentId,但我想将我的学生对象传递给 studentdeures 组件。但做不到。 有什么简单的方法可以做到这一点吗?请帮帮我