首页 > 解决方案 > 如何正确处理此 POSTed 文本文件?

问题描述

我在处理用 ruby​​ 发布的文件时遇到了最困难的时间,并且正在使用邮递员发送请求。请求的标头是:

Content-Type multipart/form-data

身体看起来像:

file crazyfile.txt

在我的 Sinartra 服务器中,我正在执行以下操作:

post '/' do
 request.body.rewind
 contents = request.body.read.to_s
 puts contents
end

输出如下所示:

---------499771616322077848081915
Content-Disposition: form-data; name="file"; filename="crazyfile.txt"
Content-Type: text/plain

holy moly
---------499771616322077848081915

我如何获得只是的输出holy moly

标签: rubyrestapimultipartform-data

解决方案


我相信您可以使用 访问文件名,并通过params[:file][:filename]访问TempFileparams[:file][:tempfile]。TempFile 将允许您对其进行操作,就好像它实际上是一个 File 对象一样,因此您可以通过read方法(例如params[:file][:tempfile].read)访问内容。


推荐阅读