Revision: 19353
Updated Code
at October 22, 2009 05:53 by almazom
Updated Code
source of file model *DataFile.rb* / Код клаÑÑа DataFile.rb, который нужно Ñоздать в папке models
require 'rutils'
def self.save(upload)
spl = upload['datafile'].original_filename.split('.')
ext = spl[spl.length-1]
name = File.basename(upload['datafile'].original_filename).gsub(/.#{ext}/,'').dirify<<'.'<<ext
directory = "htdocs/images"
# create the file path
path = File.join(directory, name)
# write the file
File.open(path, "wb") { |f| f.write(upload['datafile'].read) }
return name
end
-----------------------------
uploading form view / форма выгрузки файла
<form action="/anycontrooller/upload_action" enctype="multipart/form-data" method="post">
<p><input id="upload_datafile" name="upload[datafile]" size="30" type="file" /></p>
<input name="commit" type="submit" value="Upload" />
</form>
---------------------------------
Принимающий контроллер / receiving controller
def upload
begin
post = DataFile.save(params[:upload])
render :text =>'Файл был уÑпешно выложен под именем <br />"<b>'<<post.to_s+'</b>"'
rescue
render :text =>'error'
end
end
Revision: 19352
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 22, 2009 05:30 by almazom
Initial Code
source of file model *DataFile.rb* / Код клаÑÑа DataFile.rb, который нужно Ñоздать в папке models
require 'rutils'
def self.save(upload)
spl = upload['datafile'].original_filename.split('.')
ext = spl[spl.length-1]
name = File.basename(upload['datafile'].original_filename).gsub(/.#{ext}/,'').dirify<<'.'<<ext
directory = "htdocs/images"
# create the file path
path = File.join(directory, name)
# write the file
File.open(path, "wb") { |f| f.write(upload['datafile'].read) }
end
-----------------------------
uploading form view / форма выгрузки файла
<form action="/anycontrooller/upload_action" enctype="multipart/form-data" method="post">
<p><input id="upload_datafile" name="upload[datafile]" size="30" type="file" /></p>
<input name="commit" type="submit" value="Upload" />
</form>
---------------------------------
Принимающий контроллер / receiving controller
def upload
begin
post = DataFile.save(params[:upload])
render :text =>'ok'
rescue
render :text =>'error'
end
end
Initial URL
Initial Description
Можно выкладывать даже файлы, Ñодержащие кириллицу в названии. Они будет подвергнуты транÑлитерации, пробелы и другие небезопаÑные Ñимволы будут заменены на "_".
Initial Title
rails file upload/ выгрузка файла в ruby on rails 2+
Initial Tags
rails
Initial Language
Rails