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
|