| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Ruby On Rails > проблемы с загрузкой файлов |
| Автор: RedAlliance 14.2.2011, 22:35 | ||||
| здравствуйте,у меня проблема с загрузкой файлов пользователем..а именно,получаю ошибку: Invalid argument - public/uploaded_files/11.JPG-aiv000-Mon Feb 14 22:24:59 +0300 2011 RAILS_ROOT: D:/InstantRails/rails_apps/dip_project4 Application Trace | Framework Trace | Full Trace app/models/uploadedfile.rb:10:in `initialize' app/models/uploadedfile.rb:10:in `open' app/models/uploadedfile.rb:10:in `save' app/controllers/home_controller.rb:283:in `upload_file' в контроллере:(home_controller.rb)
в модели:(uploadedfile.rb)
сделано практически как в тьюториале http://www.tutorialspoint.com/ruby-on-rails/rails-file-uploading.htm но почему-то не работает..у кого-нибудь были такие же проблемы?как исправить? |
| Автор: synaptic 15.2.2011, 10:45 |
| Может быть стоит посмотреть в сторону paperclip? https://github.com/thoughtbot/paperclip |
| Автор: RedAlliance 24.2.2011, 00:58 |
| проблема остаётся актуальной... в коде ничего не изменилось.. ошибка следующая: Invalid argument - public/uploaded_files/ReleaseNotes.txt-ama002-Thu Feb 24 00:44:57 +0300 2011 RAILS_ROOT: D:/InstantRails/rails_apps/dip_project4 Application Trace | Framework Trace | Full Trace app/models/uploadedfile.rb:9:in `initialize' app/models/uploadedfile.rb:9:in `open' app/models/uploadedfile.rb:9:in `save' app/controllers/home_controller.rb:288:in `upload_file' Request Parameters: {"commit"=>"Upload", "accept"=>["ama001"], "authenticity_token"=>"6a6a510c0d90d66256297ab5b637e4195a2f9d8e", "upload"=>{"datafile"=>#<ActionController::UploadedStringIO:0x3fdd1c8>}, "course"=>"Mathematical Analysis-1.1", "group"=>""} что-то мне не нравится "upload"=>{"datafile"=>#<ActionController::UploadedStringIO:0x3fdd1c8>}, то есть это хэш,как я понимаю..почему так получается?? |
| Автор: DeTeam 25.2.2011, 16:08 |
| Тут все нормально, видимо проблема в имени файла: File.open(path, "wb") { |f| f.write(upload['datafile'].read)} тут же ошибка вылезает ? |
| Автор: RedAlliance 26.2.2011, 22:51 |
| да,ошибка там..но что такое может быть с именем файла?потому что так вылезает при выборе любого файла... |
| Автор: DeTeam 27.2.2011, 20:39 |
| поменяйте строчку на @name = "#{Time.now.to_i}_#{username}_#{upload['datafile'].original_filename}" |
| Автор: RedAlliance 27.2.2011, 21:46 |
| спасибо вам большое |
| Автор: RedAlliance 16.3.2011, 20:21 | ||||
при загрузке файлов слегка поменяла в связи с русскими буквами код в uploadfile.rb:
в контроллере не меняла:
при этом с латиницей нормально работало:загружало тем,кого указал,а теперь ещё и лишним,а именно: почему-то всем преподам(userclass=1)-не понимаю,откуда??? |
| Автор: RedAlliance 20.3.2011, 18:48 |
| проблема решена в теме "русские буквы" |