佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > rails上傳圖片代碼實(shí)例

rails上傳圖片代碼實(shí)例

熱門標(biāo)簽:硅谷的囚徒呼叫中心 企業(yè)做大做強(qiáng) 客戶服務(wù) 語音系統(tǒng) 電話運(yùn)營中心 呼叫中心市場(chǎng)需求 百度AI接口 Win7旗艦版

今天講解一下rails的圖片上傳,就是最平常的上傳圖片 這里的rails版本2.3.5

首先新建一個(gè)write_pic model內(nèi)容如下:

復(fù)制代碼 代碼如下:

class WritePic
require "RMagick"
require "uuid"
def self.write(pic_data,ori_name,resize = nil,file_type = "jpg",tag=false)
#File.delete("c:/programData/ruby-uuid") if RAILS_GEM_VERSION == '2.1.2'
uuid = ori_name || "#{UUID.new.generate}.#{file_type}"
i = Magick::Image.from_blob(pic_data).first
if resize
p=resize[:width].to_i*1.00 /i.columns
i.resize!(resize[:width],resize[:height]|| i.rows*p)
end
wh=0
width = i.columns
height = i.rows
if width > height
wh =1
end
i.write("#{RAILS_ROOT}/public/images/user_pic/#{uuid}")
if tag
return wh,uuid
else
return uuid
end
end
def self.get_pic(url)
uuid = "#{UUID.new.generate}.#{file_type}"
img_orig1 = Magick::Image.read(url).first
image1 = img_orig1.resize_to_fit(300,300)
image1.write("#{RAILS_ROOT}/public/images/weibo_pic/#{uuid}")
return uuid
end
end

上傳 圖片是用的插件所以最上面加載了插件。

調(diào)用write_pic 這個(gè)model的model文件寫法如下

復(fù)制代碼 代碼如下:

class Theme ActiveRecord::Base
require "RMagick"
require "uuid"
def _image=(picture_field)
if picture_field != ""
self.image = WritePic.write(picture_field.read,self.image,nil)
end
end
def _image
self.image
end
def suoluetu=(picture_field)
if picture_field != ""
self.thumbnail = WritePic.write(picture_field.read,self.thumbnail,nil,"png")
end
end
def suoluetu
self.thumbnail
end
end

 

controller里面不用在乎太多,直接上view

復(fù)制代碼 代碼如下:

h1>New theme/h1>
% form_for(@theme,:html=>{:multipart=>'true'}) do |f|%>
%= f.error_messages %>

p>
%= f.label :name %>br />
%= f.text_field :name %>
/p>
p>
%= f.label :color %>br />
%= f.text_field :color %>
/p>
p>
%= f.label :lastcolor %>br />
%= f.text_field :lastcolor %>
/p>
p>
%= f.label :image %>br />
%= f.file_field :_image %>
/p>
p>
%= f.label :thumbnail %>br />
%= f.file_field :suoluetu %>
/p>
p>
%= f.submit "Create" %>
/p>
% end %>

%= link_to 'Back', themes_path %>


 

您可能感興趣的文章:
  • asp.net MVC實(shí)現(xiàn)無組件上傳圖片實(shí)例介紹
  • js實(shí)現(xiàn)上傳圖片之上傳前預(yù)覽圖片
  • ASP.NET下上傳圖片到數(shù)據(jù)庫,并且讀出圖片的代碼(詳細(xì)版)
  • asp.net上傳圖片保存到數(shù)據(jù)庫的代碼
  • 簡(jiǎn)單PHP上傳圖片、刪除圖片實(shí)現(xiàn)代碼

標(biāo)簽:山西 山西 長(zhǎng)沙 濟(jì)南 喀什 安康 崇左 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《rails上傳圖片代碼實(shí)例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    乐都县| 莒南县| 合江县| 青岛市| 阜新| 策勒县| 汉川市| 尤溪县| 津南区| 峡江县| 巫山县| 通江县| 巴南区| 双辽市| 新蔡县| 南丹县| 沈阳市| 农安县| 健康| 和静县| 宁阳县| 灵石县| 丰顺县| 贺兰县| 沁源县| 黄大仙区| 陵川县| 长武县| 元江| 县级市| 安阳市| 牙克石市| 中阳县| 蒙山县| 丰顺县| 曲沃县| 越西县| 磐石市| 平南县| 金秀| 平谷区|