Carrierwave上传图片

时间:2012-02-03 17:13:10

标签: ruby-on-rails ruby-on-rails-3.1 carrierwave

我正在使用carrierwave上传图片,到现在为止一切正常。

我想要做的是在选择图像后显示要在表单上提交的文件的预览。

目前我的代码显示的是上一张图片。

<%= image_tag(@book.cover_url(:thumb)) if @book.cover_url %>

如何显示所选图像而不是已上传的图像?

2 个答案:

答案 0 :(得分:1)

你没有。

这与Carrierwave无关,而是由于浏览器尚未将图像发送到服务器,因此Rails堆栈的任何部分都不会在这里发挥作用。

您需要的是一种访问<input type="file">内图像并将其显示给用户的方法。

这可以通过使用属于HTML5的FileAPI来实现,但它仅在现代浏览器(Webkit / Gecko)中得到支持,并且API尚未完全完成,因此它是一种不断变化的目标。

我建议您查看像plupload这样的工具,将图片上传到服务器而不提交表单,然后通过JavaScript显示。

答案 1 :(得分:0)

尝试http://jasny.github.io/bootstrap/javascript/#fileinput

它有一个很好的解决方案,无需上传即可显示图像。