Method: Facebooker::User#upload_photo
- Defined in:
- lib/facebooker/models/user.rb
#upload_photo(multipart_post_file, options = {}) ⇒ Object
Upload a photo to the user’s profile.
In your view, create a multipart form that posts directly to your application (not through canvas):
<% form_tag photos_url(:canvas => false), :html => {:multipart => true, :promptpermission => 'photo_upload'} do %>
Photo: <%= file_field_tag 'photo' %>
Caption: <%= text_area_tag 'caption' %>
<%= submit_tag 'Upload Photo', :class => 'inputsubmit' %>
<% end %>
And in your controller:
class PhotosController < ApplicationController
def create
file = Net::HTTP::MultipartPostFile.new(
params[:photo].original_filename,
params[:photo].content_type,
params[:photo].read
)
@photo = facebook_session.user.upload_photo(file, :caption => params[:caption])
redirect_to photos_url(:canvas => true)
end
end
Options correspond to wiki.developers.facebook.com/index.php/Photos.upload
278 279 280 281 |
# File 'lib/facebooker/models/user.rb', line 278 def upload_photo(multipart_post_file, = {}) Photo.from_hash(session.post_file('facebook.photos.upload', .merge(nil => multipart_post_file))) end |