rails檔案上傳
除了通過*****clip等外掛程式來上傳檔案之外,也可以不用外掛程式,用ruby的file模組中的方法來實現檔案上傳。
一、控制器
在控制器中加入以下兩個方法,其中getfilename用來修改所上傳的檔名稱,
在我所上傳的檔案中存在空格,會出現,系統找不到檔案的錯誤,所以將檔案中的空格去掉,
def uploadfile(file)
if !file.original_filename.empty?
@filename=getfilename(file.original_filename)
#設定目錄路徑,如果目錄不存在,生成新目錄
fileutils.mkdir("#/db/upload") unless file.exist?("#/db/upload")
#寫入檔案
file.open("#/db/upload/#", "wb") do |f|
f.write(file.read)
endreturn @filename
endend
#檔名
def getfilename(filename)
if !filename.nil?
filename.split(' ').to_s
endend
二、檢視
form_tag的模板:
<% form_tag :multipart => true do %>
<%= file_field_tag "photo" %>
<% end %>
form_for的模板:
<% form_for :user, @product, :html => do |f| %>
<%= f.file_field :photo%>
<% end %>
注意:兩種表單multipart屬性的寫法,通過加這個屬性使表單支援上傳檔案,不加這個屬性或寫的不對,會報下面的錯 誤.
檔案上傳(外掛程式版)
問題描述 專案裡需要上傳1g以上的iso檔案,而且要做成全域性元件,切換各個頁面的時候,上傳介面還在並且上傳不會受到影響,實現分片上傳 秒傳以及斷點續傳的功能,所以使用了vue uploader外掛程式 解決方法 元件a封裝上傳檔案 選擇檔案 元件b接收 uploadiso 元件a width 10...
plupload檔案上傳外掛程式
plupload檔案上傳外掛程式 plupload 說明文件 參考樣例 上傳 最大500kb,支援jpg,gif,png格式。載入script 當點選按鈕 上傳 後,彈出選擇檔案對話方塊,按 ctrl 選擇多上傳。然後呼叫 uploader.start 方法,開始上傳。上傳中間過程我們可以用 upl...
Rails裡給檔案上傳新增progress bar
檔案上傳很慢時,ui沒有什麼使用者提示,這樣讓人很費解,所以我們可以給檔案上傳新增乙個動態而美觀的progress bar 首先給form for新增乙個onsubmit事件,並在form for下緊跟乙個顯示progress bar的div code form for asset,url asse...