我阅读了这篇关于在 rails3 应用程序中使用 Paperclip 从网络摄像头捕获图片的精彩文章。
我正在尝试将其转换为使用 Carrierwave(我在将共享相同图像的其他应用程序上使用它,所以我希望保持一致)。
我正在努力解决的是如何让 Carrierwave 接受来自jpegcam的闪存图像捕获的文件。似乎 Paperclip 更面向文件,而 Carrierwave 更面向对象。
这是我正在尝试的:
我有一个安装了载波上传器的模型:
class Individual < ActiveRecord::Base
mount_uploader :picture, PictureUploader
在视图中(“编辑”视图):
#webcam
= embed{:id => 'webcam_movie'}... (the embedded flash)...
= submit_tag "Take picture", :onclick => 'webcam.snap();'
= form_for @individual, :html => {:multipart => true} do |f|
= f.text_field :firstname
= f.text_field :lastname
= f.file_field :picture
= f.submit
= content_for :javascripts do
:javascript
function upload_complete(msg) {
if (msg) {
????
} else {
alert('An error occured');
webcam.reset();
}
}
webcam.set_hook('onComplete', 'upload_complete');
我的问题是 Carrierwave 并没有真正的“上传”功能,而是使用模型对象。所以我不确定在控制器中放什么来让它接受文件。以及如何在javascript中处理回调。(我尝试了一些我不好意思在这里重现的东西。将图像对象拿到控制器,但不知道如何处理它)
谁能帮我吗?谢谢。