在Ruby on Rails中,如何在没有元数据的情况下获取请求有效负载

杰夫

在Ruby on Rails中,我允许用户上传文件。我做了一些事情,然后将其通过obj = bucket.objects [filename] .write(request.body.read)传递给Amazon S3。

我以为可以使用request.body.read或request.raw_post,但是有效负载中包含所有这些元数据,例如Content-Disposition和Content-Type。我如何才能获得用户上传的有效负载部分?

例如,这是request.body.read,但我只希望该部分从“?‡?JFIF ...”开始

------WebKitFormBoundaryWc3LdZGmhHmhJeuT
Content-Disposition: form-data; name="file"; filename="test.jpg"
Content-Type: image/jpeg

ˇÿˇ‡JFIFHHˇ·...
...more data...
------WebKitFormBoundaryWc3LdZGmhHmhJeuT--
斯派克曼

您将在params中找到文件对象–对于您的情况,位于params[:file]

params哈希中的对象是的子类的实例IO根据上载文件的大小,它可能是(StringIOFile)(临时文件)的实例

在这两种情况下,对象都将具有一个original_filename属性,该属性包含其在用户计算机上的文件名,以及一个content_type属性,该属性包含上载文件的MIME类型。

要仅读取文件内容,只需调用read

uploaded_file = params[:file]

uploaded_file.original_filename 
#=> test.jpg

uploaded_file.read 
#=> file content ("ˇÿˇ‡JFIFHHˇ...")

在Rails指南中阅读有关上传文件的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在没有'gem unpack'可用的情况下打开ruby .gem的包装?

来自分类Dev

在Ruby on Rails的情况下如何执行以下操作

来自分类Dev

如何在没有Ruby测试库的情况下模拟时间?

来自分类Dev

如何在没有名称空间的情况下调用Ruby类

来自分类Dev

在没有服务器的情况下测试Ruby Rack时如何伪造文件上传?

来自分类Dev

Ruby Sinatra在没有PEM和OpenSSL :: SSL :: VERIFY_NONE的情况下创建发布请求

来自分类Dev

在没有Gemfile的情况下使用Ruby 2.0和minitest 5.5运行单元测试

来自分类Dev

如何在不首先在Ruby中实例化的情况下获取所有子类的列表

来自分类Dev

我的Ruby on Rails应用程序如何在没有密码的情况下访问数据库?

来自分类Dev

如何从CSV中获取标题。在CSV文件中仅在ruby中有标题行的情况下读取

来自分类Dev

在没有刷新Rails中的ruby的页面的情况下,href到同一页面的div ID不起作用

来自分类Dev

如何在Ruby中没有已知深度的情况下遍历深层嵌套哈希

来自分类Dev

如何在不考虑Ruby中的组的情况下获取所有正则表达式匹配项?

来自分类Dev

如何在不使用主ID的情况下从ruby on rails中的数据库查询数据

来自分类Dev

在Ruby on Rails的情况下如何执行以下操作

来自分类Dev

如何在没有任何库或gem的情况下在Ruby中解析网页?

来自分类Dev

RVM在没有网络连接的情况下安装Ruby

来自分类Dev

如何在没有名称空间的情况下调用Ruby类

来自分类Dev

如何在不指定Ruby中单个值的情况下获取哈希中的所有值?

来自分类Dev

如何在不使用link_to的情况下链接到Ruby-on-rails模板中的Delete Verb

来自分类Dev

我如何在不使用Ruby的正则表达式的情况下从数组中获取值?

来自分类Dev

如何从CSV中获取标题。在CSV文件中仅在ruby中有标题行的情况下读取

来自分类Dev

如何在没有接收器的情况下使用Ruby的send方法?

来自分类Dev

如何在没有迭代器的情况下在 Ruby 中收集块值?

来自分类Dev

Ruby - 如何在没有 .new 的情况下创建 MatchData 对象?

来自分类Dev

在我的情况下,我如何回滚 ruby on rails

来自分类Dev

如何在没有内部服务器错误的情况下让 Ruby 的 Regexp 在 Heroku 中工作?

来自分类Dev

Typhoeus Ruby 删除请求中的有效负载

来自分类Dev

如何在 Nestd 有效负载中获取有效负载数据?

Related 相关文章

  1. 1

    在没有'gem unpack'可用的情况下打开ruby .gem的包装?

  2. 2

    在Ruby on Rails的情况下如何执行以下操作

  3. 3

    如何在没有Ruby测试库的情况下模拟时间?

  4. 4

    如何在没有名称空间的情况下调用Ruby类

  5. 5

    在没有服务器的情况下测试Ruby Rack时如何伪造文件上传?

  6. 6

    Ruby Sinatra在没有PEM和OpenSSL :: SSL :: VERIFY_NONE的情况下创建发布请求

  7. 7

    在没有Gemfile的情况下使用Ruby 2.0和minitest 5.5运行单元测试

  8. 8

    如何在不首先在Ruby中实例化的情况下获取所有子类的列表

  9. 9

    我的Ruby on Rails应用程序如何在没有密码的情况下访问数据库?

  10. 10

    如何从CSV中获取标题。在CSV文件中仅在ruby中有标题行的情况下读取

  11. 11

    在没有刷新Rails中的ruby的页面的情况下,href到同一页面的div ID不起作用

  12. 12

    如何在Ruby中没有已知深度的情况下遍历深层嵌套哈希

  13. 13

    如何在不考虑Ruby中的组的情况下获取所有正则表达式匹配项?

  14. 14

    如何在不使用主ID的情况下从ruby on rails中的数据库查询数据

  15. 15

    在Ruby on Rails的情况下如何执行以下操作

  16. 16

    如何在没有任何库或gem的情况下在Ruby中解析网页?

  17. 17

    RVM在没有网络连接的情况下安装Ruby

  18. 18

    如何在没有名称空间的情况下调用Ruby类

  19. 19

    如何在不指定Ruby中单个值的情况下获取哈希中的所有值?

  20. 20

    如何在不使用link_to的情况下链接到Ruby-on-rails模板中的Delete Verb

  21. 21

    我如何在不使用Ruby的正则表达式的情况下从数组中获取值?

  22. 22

    如何从CSV中获取标题。在CSV文件中仅在ruby中有标题行的情况下读取

  23. 23

    如何在没有接收器的情况下使用Ruby的send方法?

  24. 24

    如何在没有迭代器的情况下在 Ruby 中收集块值?

  25. 25

    Ruby - 如何在没有 .new 的情况下创建 MatchData 对象?

  26. 26

    在我的情况下,我如何回滚 ruby on rails

  27. 27

    如何在没有内部服务器错误的情况下让 Ruby 的 Regexp 在 Heroku 中工作?

  28. 28

    Typhoeus Ruby 删除请求中的有效负载

  29. 29

    如何在 Nestd 有效负载中获取有效负载数据?

热门标签

归档