Class: Vipload::UploadController

Inherits:
ApplicationController show all
Defined in:
app/controllers/vipload/upload_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/controllers/vipload/upload_controller.rb', line 5

def create
  vipload = YAML.load_file("#{Rails.root}/config/vipload.yml")[Rails.env]
  require "net/ftp"
  
  ftp = Net::FTP.new(vipload["server"], vipload["username"], vipload["password"])
  key = params[:key].gsub(/\/$/, "").gsub(/$\//, "")
  filename = params[:file].original_filename
  filename = params[:filename] if params[:filename] && !params[:filename].blank?
  tmp_path = []
  
  key.split("/").each do |folder|
    tmp_path.push folder
    ftp.mkdir(tmp_path.join("/"))
  end

  ftp.putbinaryfile(params[:file].tempfile, [params[:key], filename].join("/"))

  respond_to do |format|
    if params[:redirect]
      format.html { redirect_to params[:redirect] }
    else
      format.html { render text: ftp.last_response }
    end
  end
end