作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
"My message"-6ren">
我想使用 Net::HTTP::multipart
从 Heroku 应用程序向 Facebook 发布一张新照片给用户。
我有以下 JSON 对象:
{"message"=>"My message", "image"=>#<ActionDispatch::Http::UploadedFile:0x00000004242490 @original_filename="neEZYMAnBI.jpg", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; name=\"image\"; filename=\"/home/user/public/direct/fb_images/neEZYMAnBI.jpg\"\r\nContent-Type: application/octet-stream\r\n", @tempfile=#<File:/app/tmp/RackMultipart20110818-1-18qnwtj>>, "method"=>"post", "access_token"=>"my_access_token", "format"=>"json"}
我尝试使用:
require 'net/http/post/multipart'
url = URI.parse('https://graph.facebook.com/me/photos?access_token=#{params[:access_token]}')
File.open(params[@tempfile]) do |jpg|
req = Net::HTTP::Post::Multipart.new url.path,
"file" => UploadIO.new(jpg, "image/jpeg", "image.jpg")
res = Net::HTTP.start(url.host, url.port) do |http|
http.request(req)
end
end
但是:
有人可以提出解决方案吗?
谢谢
最佳答案
您已经可以使用 params[:image].tempfile
访问一个 File
实例(嗯,一个 TempFile
实例)
丢弃所有 File.open
的东西并用它简单地构造一个 UploadIO
:
UploadIO.new(params[:image].tempfile, ...)
关于ruby-on-rails - rails : How to post a file via HTTP as multipart/form-data to Facebook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121201/
我是一名优秀的程序员,十分优秀!