社区
Ruby/Rails
帖子详情
ruby on rails 实现图片上传
wohaizai007
2011-01-27 10:49:52
前几天做了一个图片上传功能,单独做的时候做出来了,但是和别的控制器绑定在一起就乱了,比如说一个学生对应几个图片,做了数据库链接,一对多的关系,应该怎样设置才能一次传多张图片呢,可以给我传个实例吗?
...全文
618
1
打赏
收藏
ruby on rails 实现图片上传
前几天做了一个图片上传功能,单独做的时候做出来了,但是和别的控制器绑定在一起就乱了,比如说一个学生对应几个图片,做了数据库链接,一对多的关系,应该怎样设置才能一次传多张图片呢,可以给我传个实例吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
凝然
2011-12-22
打赏
举报
回复
实现多张图片上传与图片预览的方法相似,都是通过发送消息给方法,然后该方法渲染某个div以达到添加一个file_field控件的目的。而不同点在于预览时如何判断是哪个file_filed发过来的消息,这样才能渲染到相应的预览区域内。这里我们通过一个变量@file_id来传递,各个渲染的区域ID也用@file_id来表示。如:
<div id = "file_field_<%= @file_id %>">
<%= file_field_tag("attachment[#{@file_id}][]", :onchange => "this.form.action = '#{url_for :controller => 'myblog', :action => 'project_image_preview', :file_id => @file_id }';this.form.submit();", :size =>50) %>
</div>
<div id = 'image_preview_<%= @file_id %>'></div>
<div id = "delete_button_<%= @file_id %>"></div>
最重要的就是如何接收到文件,上面用了一个数组attachment,接收时key = params[:file_id], file = params["attachment"][key].first这样就取得了文件,接着就可以对预览区渲染了。
另外,在保存多张图片时也要注意,首先利用迭代判断每个上传区域是否有文件,然后保存。
def self.upload(file_array, id)
#进来file_array形式是hash{1=> 'file1',2 => 'file2'}
file_path = "#{RAILS_ROOT}/public/images/uploaddata/#{id}/"
pp file_path
if !File.exist?(file_path)
Dir.mkdir(file_path, 0777)
end
file_array.each do |key,value| # 迭代保存
file = value[0]
original_name = file.original_filename
save_name = UUIDTools::UUID.random_create.to_s[0,4] + original_name
if file.present? # 判断文件是否存在
file_name = file_path + save_name
if File.exist?(file_name)
File.delete(file_name)
end
File.open(file_name,"wb") do |f|
f.write(file.read)
end
end
ruby
on
rails
aliyun oss百度编辑器上传
本文介绍如何在
Ruby
on
Rails
项目中集成百度编辑器,包括修改ueditor.all.min.js文件以匹配
Ruby
on
Rails
的action命名约定,以及
实现
图片上传
、删除等功能的具体代码示例。
ruby
on
rails
界面常用控件写法以及
rails
常用方法
本文详细介绍了如何在
Ruby
on
Rails
应用中
实现
常见的功能,包括数据库迁移、字段验证、分页查询、
图片上传
等操作,并提供了具体的代码示例。
rails
-使用mini_magick和carrierwave进行
图片上传
本文介绍如何利用CarrierWave和MiniMagick在
Ruby
on
Rails
项目中
实现
图片上传
功能,包括Gem安装、配置Apache环境变量、生成迁移文件、创建Uploader、更新Model和视图等步骤。
rails
paperclip
本文介绍如何使用
Ruby
on
Rails
中的Paperclip插件
实现
图片上传
功能,包括配置、表结构修改、表单创建及控制器处理等步骤。此外,还介绍了如何通过一对多关系
实现
图片的级联保存与删除。
图片上传
和rmagick验证码
本文分享了使用
Ruby
on
Rails
进行
图片上传
功能
实现
的经验,包括安装FileColumn gem、数据库字段设置及表单编写等步骤。
Ruby/Rails
2,763
社区成员
1,761
社区内容
发帖
与我相关
我的任务
Ruby/Rails
Web 开发 Ruby/Rails
复制链接
扫一扫
分享
社区描述
Web 开发 Ruby/Rails
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章