gpt4 book ai didi

ruby-grape - 在同一请求中上传多个文件

转载 作者:行者123 更新时间:2023-12-02 01:15:02 24 4
gpt4 key购买 nike

我需要创建一个POST,可以在同一请求中上传多个文件,但我不知道如何用grape编写它。现在只上传一个文件,这就是我正在做的事情,并且工作正常:

desc 'Creates a new attachment.'
params do
requires :file, :type => Rack::Multipart::UploadedFile, :desc => "Attachment File."
end
post do
attachment = Attachment.new
attachment.file = ActionDispatch::Http::UploadedFile.new(params[:file])
attachment.save!
attachment
end

Swagger 向我展示了这个:

enter image description here

我正在考虑做这样的事情:

desc 'Creates a new attachment.'
params do
requires :file, :type => Array[Rack::Multipart::UploadedFile], :desc => "Attachment File."
end

但看起来不太好:

enter image description here

我也尝试过:

params do
optional :attachments, type: Array do
requires :file, :type => Rack::Multipart::UploadedFile, :desc => "Attachment File."
end
end

也不是一个好结果。

enter image description here

处理这个问题的正确方法是什么?

最佳答案

经过一些测试,我找到了答案,我将其留在这里:

params do
requires :first_name, type: String, desc: "User first name"
requires :last_name, type: String, allow_blank: false, desc: "User last name"
optional :attachments, type: Array do
requires :file, :type => Rack::Multipart::UploadedFile, :desc => "Profile pictures."
end
end

你不能使用 swagger 来测试它(或者至少我没有找到一种方法),但你可以使用这个curl:

curl -v -F "first_name=John" -F "last_name=McTest"  -F "attachments[][file]=@first_picture.png" -F "attachments[][file]=@second_picture.jpg" http://url/api/users

关于ruby-grape - 在同一请求中上传多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29349419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com