2015-04-22 27 views
1

你好我發送請求與文件到我的服務器與post方法 文件到達,但我想要得到的路徑,我命令打開它,但當我得到與params [:file] .path沒有方法sinatra

params[:file].path

文件,它說,哈希沒有任何方法 所以現在我知道這是不是一個文件的哈希,是有辦法這個哈希變換到我需要的文件?

這裏是我的要求的樣子:

{ 
    "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 protected]>" 
    }, 
    "subject"=>{ 
     "0"=>"asdasda" 
    }, 
    "template"=>{ 
     "0"=>"sdasdasdaojoasdijoisjdcxvb" 
    } 
} 

,如果你還知道我可以改變這個要求有額外到達\\處處方式,將非常有幫助

回答

1

要訪問的文件名使用

filename = params[:file][:filename] 

要訪問文件使用

file = params[:file][:tempfile] 
+0

好吧我的壞,謝謝你這麼多人 – AbdulHamid

相關問題