【发布时间】:2012-07-14 05:14:00
【问题描述】:
过去几天我一直在使用 rails,想知道在上传到 rails 和 carrierwave 之前显示图像预览的最佳方式。
我遇到了一些选项,例如使用 plupload 或 jquery 文件上传或使用 uploadify。
【问题讨论】:
标签: ruby-on-rails image upload carrierwave preview
过去几天我一直在使用 rails,想知道在上传到 rails 和 carrierwave 之前显示图像预览的最佳方式。
我遇到了一些选项,例如使用 plupload 或 jquery 文件上传或使用 uploadify。
【问题讨论】:
标签: ruby-on-rails image upload carrierwave preview
如果您只需要在上传之前在表单中预览图像,您(和我一样)会发现 JQuery Upload 插件太复杂而且不太容易正常运行(我能够看到预览,但后来我无法上传图片)。
http://saravani.wordpress.com/2012/03/14/preview-of-an-image-before-it-is-uploaded/
编码简单快捷。
我把代码放在这里以防源代码失效:
脚本:
<!-- Assume jQuery is loaded -->
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#img_prev')
.attr('src', e.target.result)
.width(150)
.height(200);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
在 HTML 中:
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<input type='file' onchange="readURL(this);" />
<img id="img_prev" src="#" alt="your image" />
</body>
【讨论】:
您可以使用插件jQuery File Upload,它是一个完整的解决方案,但如果您需要一些不太强大的东西,您也可以尝试直接使用FileReader,例如this,这样您就可以根据需要自定义功能.
【讨论】:
根据文件image_cache 显示您正在上传的内容。
<%= f.hidden_field :image_cache %>
【讨论】: