Ruby params[:file]。路径没有方法sinatra
你好,我正在用post方法向我的服务器发送一个带文件的请求 文件到达,但我想获得路径,我命令打开它,但当我获得文件时Ruby params[:file]。路径没有方法sinatra,ruby,sinatra,Ruby,Sinatra,你好,我正在用post方法向我的服务器发送一个带文件的请求 文件到达,但我想获得路径,我命令打开它,但当我获得文件时 params[:file]。路径 它说散列没有方法 现在我知道这是一个散列而不是一个文件,有没有办法把这个散列转换成我需要的文件 以下是我的请求: { "utf8"=>"✓", "authenticity_token"=>"vsp2/5YCM9OBFjXASnpnXNmi4oYVlbAEeUhHQzpRd4w=", `"file"=>`{
params[:file]。路径
它说散列没有方法
现在我知道这是一个散列而不是一个文件,有没有办法把这个散列转换成我需要的文件
以下是我的请求:
{
"utf8"=>"✓",
"authenticity_token"=>"vsp2/5YCM9OBFjXASnpnXNmi4oYVlbAEeUhHQzpRd4w=",
`"file"=>`{
: filename=>"mass_email.csv",
: type=>"text/csv",
: name=>"file",
: tempfile=>#<File: /tmp/RackMultipart20150422-8224-1vm8siy.csv>,
: head=>"Content-Disposition: form-data; name=\"file\"; filename=\"mass_email.csv\"\r\nContent-Type: text/csv\r\n"
},
"commit"=>"Send Mass Email",
"from"=>{
"0"=>"\"balblabla\" <email@ik.com>"
},
"subject"=>{
"0"=>"asdasda"
},
"template"=>{
"0"=>"sdasdasdaojoasdijoisjdcxvb"
}
}
{
“utf8”=>”✓",
“真实性令牌”=>“vsp2/5YCM9OBFJXASNPNXNMI4OYVLBAEEUHQZPRD4W=”,
`“文件”=>`{
:filename=>“mass_email.csv”,
:type=>“text/csv”,
:name=>“文件”,
:tempfile=>#,
:head=>“内容处理:表单数据;名称=\”文件名=\”mass\u email.csv\“\r\n内容类型:text/csv\r\n”
},
“提交”=>“发送大量电子邮件”,
“从”=>{
“0”=>“balblabla”
},
“主题”=>{
“0”=>“asdasda”
},
“模板”=>{
“0”=>“sdaojoasdijoisjdcxvb”
}
}
另外,如果您知道如何更改此请求到达的方式,并且在任何地方都有额外的\\everywhere,这将非常有助于访问文件名使用
filename = params[:file][:filename]
要访问文件,请使用
file = params[:file][:tempfile]