Jan*_*Jan 15 ruby-on-rails amazon-s3 paperclip
我有一个rake文件,它通过HTTP读取内容,我想使用Paperclip将加载的内容存储在Amazon S3上.当我提供本地文件时,它工作正常,但我想将内容设置为字符串并手动设置内容类型.
以下不起作用.未发出错误,数据库条目已更新,但在S3中未创建任何文件:
p.attachment = "Test"
p.attachment_file_name = "test.txt"
p.attachment_content_type = "text/plain"
p.attachment_file_size = "Test".size
p.attachment_updated_at = Time.now
p.save
我想我可以用我的内容写一个临时文件,但这将是一个非常低效的解决方案.
Leo*_*opd 44
为避免使用临时文件乱丢文件系统,您可以使用StringIO如下:
p.attachment = StringIO.new(your_string)
这有点晚了但我通过使用ruby 1.9.2 rails 3.1创建一个Tempfile来实现它
file = Tempfile.new( ["file_name", '.txt'] )
file.write( "my test string".force_encoding('utf-8') )
p.attachment = file
不,您必须使用字符串创建一个文件。
只需查看 Paperclip 源代码: https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/attachment.rb#L77 和 https://github.com/thoughtbot/paperclip/blob/master/ lib/paperclip/iostream.rb#L5
当您使用 my_model.attachment= 分配某些内容时,Paperclip 需要一个文件对象。
| 归档时间: | 
 | 
| 查看次数: | 6268 次 | 
| 最近记录: |