我使用袋鼠来分析我的轨道上的Ubuntu应用中的一些excelx文件。 这些上传的Carrierwave。
这里是我的实际控制线:
excelx_file = params[:excel_file]
filex = MetadataUploader.new
filex.store!(excelx_file)
workbook = Excelx.new("#{filex.store_path}")
以下是公共/上传权限:
drwxrwxr-x 2 pirames pirames 4096 Jun 13 14:03 metadata_ingestion
drwxrwxr-x 2 pirames pirames 4096 Jun 13 14:24 tmp
以下是该文件的权限:
ls -l public/uploads/metadata_ingestion/
total 608
-rw-r--r-- 1 pirames pirames 621504 Jun 13 14:24 Bozza_Pirames_Distribuito.xlsx
这里是代替实际跟踪:
Errno::EACCES in IngestionController#upload
Permission denied - oo_2895_1872934321
Rails.root: /var/www/mascarino
Application Trace | Framework Trace | Full Trace
/home/pirames/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir'
/home/pirames/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/fileutils.rb:247:in `fu_mkdir'
/home/pirames/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/fileutils.rb:176:in `block in mkdir'
/home/pirames/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/fileutils.rb:175:in `each'
/home/pirames/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/fileutils.rb:175:in `mkdir'
roo (1.10.1) lib/roo/excelx.rb:95:in `initialize'
app/controllers/ingestion_controller.rb:24:in `new'
app/controllers/ingestion_controller.rb:24:in `upload'
actionpack (3.2.3) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (3.2.3) lib/abstract_controller/base.rb:167:in `process_action'
actionpack (3.2.3) lib/action_controller/metal/rendering.rb:10:in `process_action'
在袋鼠的实际行抛出错误之前调用如下:@filename =文件名
在https://github.com/hmcgowan/roo/blob/master/lib/roo/excelx.rb
现在,同样的代码工作完全在开发我的Mac上。 服务器上运行是对开发Ubuntu的PUMA为好。 我已经检查权限和我有同样的我的Mac上。 我已经检查了用户拥有的文件夹是一样的运行服务器。
有任何想法吗? 我缺少的东西吗?
编辑:我也注意到在跟踪错误信息:
Permission denied - oo_2895_1872934321
2895彪马服务器上运行的PID。 而如果我通过了上传的文件,而不是#{} filex.store_path的实际路径的结果不会改变。
谢谢!