将文件提交到 sinatra 后端



我有一个上传文件的表单:

<form action="/upload" method="post">
    <input type="file" name="image">
    <input type="submit">
</form>

我正在尝试查看正在提交的内容。在谷歌浏览器中检查元素,当我在后端使用 params.inspect 时,提交的唯一表单数据是 {:image => "<submitted file name>"} .如何获取实际图像数据?根据这个网站,我应该只收到以下格式的东西:

{
  "image" => {
    :type => "image/png",
    :head =>  "Content-Disposition: form-data;
               name="myfile";
               filename="cat.png"rn
               Content-Type: image/pngrn",
    :name => "myfile",
    :tempfile => #<File:/var/folders/3n/3asd/-Tmp-/RackMultipart201-1476-nfw2-0>,
    :filename=>"cat.png"
  }
}  

我不知道为什么没有发生这种情况。如果有人能提供解释和更正,那就太棒了。

为了上传文件,您需要将form元素上的enctype属性设置为multipart/form-data

<form action="/upload" method="post" enctype="multipart/form-data">

相关内容

  • 没有找到相关文章

最新更新