Ruby on Rails Sunday, January 27, 2013

On Sat, Jan 26, 2013 at 9:01 PM, Saravanan P <saravanan.p@shriramits.com> wrote:
> I dont think it will helpful, below is my code,
>
> // in my model
>
> content = File.read "#{Rails.root}/app/to/mytemplate.html.erb"
> template = ERB.new(content)
> html_content = template.result(binding)
> pdf= WickedPdf.new.pdf_from_string(html_content)
> save_path = "#{Rails.root}/public/test_pdf.pdf"
> File.open(save_path, 'wb') do |file|
> file << pdf
> end
> @photo = Photo.new
> @photo.avatar =
> File.open("#{Rails.root}/public/message#{@message.id}.pdf")
> @photo.save
>
> The above code will generate pdf and store file locally then only i am
> uploading into s3 server.
> But i need to store s3 without store into local. Is that possible?

Try Fog (http://fog.io) -- you can open up a storage connection and
write directly to S3:

Creating the S3 item (new) after making connection and bucket:

file = bucket.files.create(
:key => 'test_pdf.pdf',
:body => pdf,
:public => true
)

and the public URL is at:

file.public_url

Saving a new version of the S3 item:

file = bucket.files.get('test_pdf.pdf')
file.body = newpdf
file.save

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment