我如何使用requestBody在phoenix / Elixir中将图像上传为二进制文件

时间:2017-12-04 15:48:05

标签: elixir swagger phoenix-framework

到目前为止,我一直在使用

    swagger_path :create_tag do
    post "/tag"
    produces "application/json"
    description "register Tags"
    consumes "multipart/form-data"        
    parameters do 
    image :formData, :file,  "The file to upload.", required: true
    end
    response 200, "Success"
end

但是我想使用requestBody来获取图像的二进制数据,上面我得到了图像路径,并且必须在控制器中处理Plug.Upload

想知道使用凤凰城中的swagger的requestBody语法

1 个答案:

答案 0 :(得分:1)

phoenix_swagger中使用的swagger 2.0规范不支持二进制文件上传:

  

在Swagger 2.0中不支持有效载荷只是原始文件内容的上载,因为它们不是multipart / form-data。也就是说,Swagger 2.0不支持以下内容:

curl --upload-file archive.zip http://example.com/upload

open_api_spex包的目标是swagger 3.0,它支持二进制requestBody操作。