plupload + carrierwave 實作筆記 (二)

真的就只是個小筆記而已 ... 這邊的 code 我寫得很髒,所以就不直接貼了,大概講一下做法。

第一步: 先幹出一個 AssetsController 負責接圖片

def create
  ea = EventImage.new
  ea.path = params[:file]
  ea.save

  render json: ea
end

第二步:

plupload 那邊基本上要自己幹一個上傳器出來,然後監聽 FileUploaded 事件,這個事件會傳三個參數回來,分別是: up, file, info 三個,第一個 up 應該就是 uploader 本身,第二個 file 是你上傳上去的那個 file ,而 info 包含了回傳的內容,其中 response 是純字串,如果你的 Server 會吐 JSON 回來,記得這邊上一下 JSON.parse 後才能用

補充記錄:

  1. 如果要做什麼檢查的話,譬如數量,可以用 up.files 去取得設定過上傳的檔案的陣列
  2. 可以用 up.removeFile(up.files[index]) 去刪除某個檔案
  3. 如果要選擇檔案後就可以上傳,那可以把 up.start(); 加在 FilesAdded 事件上
  4. 在透過 new plupload.Uploader() 建立上傳器的時候可以透過指定 browse_button 來選擇要觸發上傳功能的按鈕,然後就是其實我不知道 container 到底幹啥用的 ....

Comments

comments powered by Disqus