# File upload doesn't work in production mode

**URL:** <https://www.ruby-forum.com/t/file-upload-doesnt-work-in-production-mode/57610>\
**Category:** Rails\
**Created:** [April 12, 2006, 2:03pm UTC](https://www.ruby-forum.com/t/file-upload-doesnt-work-in-production-mode/57610 "2006-04-12T14:03:46Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![azgar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/eb8c5e/32.png) [@azgar](https://www.ruby-forum.com/u/azgar)\
**Post date:** [April 12, 2006, 2:03pm UTC](https://www.ruby-forum.com/t/file-upload-doesnt-work-in-production-mode/57610/1 "2006-04-12T14:03:46Z")

</div>

Can anyone understand what the production.log file is telling me. I’ve  
tried playing with the permissions for the folders and it makes no  
difference. Every time I submit the form to upload the file I get  
“Application error (Rails)” which doesn’t really help.

Processing DocsController#create (for 82.152.151.194 at 2006-04-12  
12:44:13) [POST]  
Session ID: b27441574a2e76188be2b59b3572affb  
Parameters: {“commit”=\>“Save and continue”,  
“doc”=\>{“filename\_temp”=\>"", “filename”=\>#StringIO:0xb70d8118,  
“label”=\>“test”}, “action”=\>“create”, “controller”=\>“admin/docs”}

Errno::EACCES (Permission denied -  
/var/www/html/hjplaw.co.uk/current/public/…/config/…/public/doc/filename/tmp/1144842253.766011.302):  
/usr/local/lib/ruby/1.8/fileutils.rb:243:in `mkdir' /usr/local/lib/ruby/1.8/fileutils.rb:243:in`fu\_mkdir’  
/usr/local/lib/ruby/1.8/fileutils.rb:172:in `mkdir' /usr/local/lib/ruby/1.8/fileutils.rb:171:in`mkdir’  
/vendor/plugins/file\_column/lib/file\_column.rb:216:in `store_upload' /vendor/plugins/file_column/lib/file_column.rb:150:in`upload’  
/vendor/plugins/file\_column/lib/file\_column.rb:70:in `assign' /vendor/plugins/file_column/lib/file_column.rb:652:in`filename=’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/active\_record/base.rb:1506:in  
`attributes=' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/active_record/base.rb:1505:in`attributes=’  
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/active\_record/base.rb:1350:in  
`initialize_without_callbacks' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/active_record/callbacks.rb:236:in`initialize’  
/app/controllers/admin/docs\_controller.rb:20:in `create' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/base.rb:908:in`perform\_action\_without\_filters’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action\_controller/filters.rb:355:in  
`perform_action_without_benchmark' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/benchmarking.rb:69:in`perform\_action\_without\_rescue’  
/usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/benchmarking.rb:69:in`perform\_action\_without\_rescue’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action\_controller/rescue.rb:82:in  
`perform_action' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/base.rb:379:in`process\_without\_filters’  
/usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action\_controller/filters.rb:364:in  
`process_without_session_management_support' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/session_management.rb:117:in`process’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb:38:in  
`dispatch' /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/fcgi_handler.rb:150:in`process\_request’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/fcgi\_handler.rb:54:in  
`process!' /usr/local/lib/ruby/gems/1.8/gems/fcgi-0.8.6.1/./fcgi.rb:600:in`each\_cgi’  
/usr/local/lib/ruby/gems/1.8/gems/fcgi-0.8.6.1/./fcgi.rb:597:in  
`each_cgi' /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/fcgi_handler.rb:53:in`process!’  
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/fcgi\_handler.rb:23:in  
`process!’  
/var/www/html/hjplaw.co.uk/current/public/dispatch.fcgi:24

–

---

<div class="post-metadata">

**Author:** ![azgar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/eb8c5e/32.png) [@azgar](https://www.ruby-forum.com/u/azgar)\
**Post date:** [April 12, 2006, 2:22pm UTC](https://www.ruby-forum.com/t/file-upload-doesnt-work-in-production-mode/57610/2 "2006-04-12T14:22:28Z")

</div>

From the tmp/sessions directory you can try deleting the files created  
there.

---

<div class="post-metadata">

**Author:** ![azgar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/eb8c5e/32.png) [@azgar](https://www.ruby-forum.com/u/azgar)\
**Post date:** [April 12, 2006, 2:47pm UTC](https://www.ruby-forum.com/t/file-upload-doesnt-work-in-production-mode/57610/3 "2006-04-12T14:47:15Z")

</div>

I deleted the tmp/sessions files and restarted the server and  
unfortunately it’s still doing the same as before.

---

<div class="post-metadata">

**Author:** ![azgar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/eb8c5e/32.png) [@azgar](https://www.ruby-forum.com/u/azgar)\
**Post date:** [April 12, 2006, 2:53pm UTC](https://www.ruby-forum.com/t/file-upload-doesnt-work-in-production-mode/57610/4 "2006-04-12T14:53:35Z")

</div>

Its really strange then…whats your OS? What permissions you are using?  
Just  
make sure that tmp and log directory are writable. Also, where exactly  
you  
are saving files uploaded with file\_column plugin? Do, you have write  
permissions there?

Looks like, you are having problems with file\_column plugin?

You will have to post full stacktrace…only then we can help!!.

---

<div class="post-metadata">

**Author:** ![azgar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/eb8c5e/32.png) [@azgar](https://www.ruby-forum.com/u/azgar)\
**Post date:** [April 12, 2006, 4:25pm UTC](https://www.ruby-forum.com/t/file-upload-doesnt-work-in-production-mode/57610/5 "2006-04-12T16:25:58Z")

</div>

ok i figured it out. basically i had uploaded my local /public/doc  
folder to the production server. so file\_column was throwing up the  
errors because it didn’t like that the folders it was going to create  
already existed.

hopefully posting this up will help save time for anyone else who gets  
baffled by this error.

---

<div class="post-metadata">

**Author:** ![azgar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/eb8c5e/32.png) [@azgar](https://www.ruby-forum.com/u/azgar)\
**Post date:** [April 12, 2006, 4:10pm UTC](https://www.ruby-forum.com/t/file-upload-doesnt-work-in-production-mode/57610/6 "2006-04-12T16:10:34Z")

</div>

it is the file\_column plugin you are right and it works fine in other  
areas of my application. the file upload works fine locally on my  
windows machine in development mode. it’s just the move to production  
onto the linux server when it breaks.

permissions are set at 775 for all folders i can see are involved in  
the upload process. the file gets saved to /public/doc/filename/ID
