главная -> статьи -> On-line приложения на платформе Ruby on Rails (часть 2) | |
Загрузка файлов на сервер
Как уже упоминалось в статье Сетевые приложения (разделы Выбор языков программирования и upload), загрузка файлов на сервер не для всех языков является простой ("родной") задачей. К счастью, и здесь Ruby on Rals на высоте. В разделе интерфейс 2 показан пример формы с вызовом :action => "upld". В контроллере books_controller определяется метод: def upld @dir_pdf = RAILS_ROOT + "/public/bk_pdf/" @url_pdf = "/public/bk_pdf/bk"+ session[:myb_pdf]+".pdf" @my_file = @params[:src] @my_over = params[:overw] @my_path = @dir_pdf + "bk" + session[:myb_pdf] + ".pdf" if !FileTest.exists?(@my_path) or params[:overw] == "on" File.open(@my_path,"wb",0664) do |fp| FileUtils.copy_stream(@my_file, fp) end @rend_str = "<script type='text/javascript'>this.opener.location.reload(); this.close();</script>" else @rend_str = "<center><p><font color='red'><b>Файл с таким именем уже " + "существует,<br> чтобы переписать необходимо повторить процедуру выбора "+ "файла и установить 'птичку' переписать</b></font></p>"+ "<input type='button' onclick='parent.close()'; value=' OK ' />" end render :text => @rend_str end Обратите внимание:
При необходимости сохранить неизменным имя файла на сервере формируем путь:
|
|
© 2008 Сединко А.М.
© 2004 design by kir |