[英]Getting Errno::ENOENT: No such file or directory @ rb_sysopen When trying to open remote file url in Roo gem(Ruby on rails)
I have stored an file in AWS s3 storage when trying to open an file to import data using roo gem, It raising following error Errno::ENOENT: No such file or directory @ rb_sysopen
尝试打开文件以使用Roo gem导入数据时,我已将文件存储在AWS s3存储中,它引发以下错误
Errno::ENOENT: No such file or directory @ rb_sysopen
def self.import(file, user_id)
imported_file = ImportedFile.find(file)
spreadsheet = Roo::Spreadsheet.open(open(imported_file.file_url), extension: :csv)
spreadsheet = Roo::Spreadsheet.open(imported_file.file)
header = spreadsheet.row(1)//raising error here
end
I even tried this also 我什至也尝试过
spreadsheet = Roo::Spreadsheet.open(imported_file.file_url)
Getting below error in log 低于日志错误
Errno::ENOENT: No such file or directory @ rb_sysopen - /uploads/imported_files/7a6f0463-b3cd-48f8-a579-bc27951242fe/13c96e3e-d3f3-4ed8-8d9a-b9ea03c0cc8c.csv
To open URLs you should require the open-uri
library first: 要打开URL,您应该首先要求
open-uri
库:
require 'open-uri'
See the example: 参见示例:
open('http://example.com/')
# throws Errno::ENOENT: No such file or directory @ rb_sysopen - http://example.com/
require 'open-uri'
open('http://example.com/')
# opens the website
最后,下面的代码为我工作。
spreadsheet = Roo::Spreadsheet.open(open(imported_file.file_url), extension: File.extname(imported_file.file_url).gsub('.','').to_sym) rescue nil
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.