我在Rails 3上使用以下文件上传器:https://github.com/blueimp/jQuery-File-Upload
客户端上传工作正常。我可以在Rails日志文件中看到上传文件时发布了以下内容:
Started POST "/attachments/upload" for 127.0.0.1 at Mon Jan 24 14:15:25 -0800 2011
Processing by AttachmentsController#upload as */*
Parameters: {"_http_accept"=>"application/javascript", "authenticity_token"=>"F1h9pvCZL9HUgTjwCIAMc%252BW1cYwx7eBOPwThHfbS5ZU%253D", "file"=>#<ActionDispatch::Http::UploadedFile:0x1076a6d48 @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"joecocker.jpg\"\r\nContent-Type: image/jpeg\r\n", @original_filename="joecocker.jpg", @tempfile=#<File:/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/RackMultipart20110124-12264-rbtnth-0>>}
我遇到的问题是我无法将上传的文件保存到Paperclip。
我已经死了:
@attachment = Attachment.create(:attachment => File.open(params[:file].tempfile.path))
@attachment = Attachment.create(:attachment => params[:file].tempfile.path)
既不奏效。 Paperclip插入文件附件名称“RackMultipart20110124-12264-rbtnth-0”
有关如何将文件保存到回形针的任何想法/建议?感谢
答案 0 :(得分:11)
只需使用params[:file]
即可访问该文件。无需执行params[:file].tempfile.path
。 Paperclip需要一个完整的File
对象。
答案 1 :(得分:1)
可能是您遇到权限问题。默认情况下,Paperclip会在公共文件夹中创建一个名为system的文件夹,并保存所有附件。检查项目目录的权限。出于测试目的,将其设置为777
其次,您无需手动保存附件。使用回形针后,它将自动保存附件。为了完成这些工作,您需要确保这些步骤。
确保完成上述步骤后,只需运行程序即可。
答案 2 :(得分:0)
很难说没有看到你的模型代码,但根据我看到的情况我会尝试:
@attachment = Attachment.create(params[:file])