2015-09-04 3 views
0

Я пытаюсь прочитать файл XLS в формате JSON с помощью модуля xls-to-json узла при отправке файла путь он показывает ошибку, как путь должен быть строкойпарусов: TypeError: путь должен быть строкой

Я м Использование ниже фрагмент кода

var fs = uploadedFiles[0].fd; 
//fs is a file path              
node_xj = require("xls-to-json"); 
node_xj({ 
      input:fs, 

     }, function(err, result) 
      { 
       if(err) 
       { 
        console.error(err); 
       } 
       else 
       { 
        console.log(result); 
       } 
      }); 

Ошибка

fs.js:430 
    binding.open(pathModule._makeLong(path), 
     ^
TypeError: path must be a string 

пожалуйста, помогите решить эту проблему.

+0

Что 'TypeOf uploadedFiles [0] .fd' вернуться? –

+0

он возвращает строку. – Martin

ответ

1

Мой ответ основан на документации xls-to-json. Представим, что у вас есть действие, которое принимает файл в качестве входного файла. Вывод: json файл в той же папке. Поэтому, когда вы отправляете файл через HTTP-запрос, вы можете загрузить этот файл с помощью метода upload. files - это массив с загруженными файлами, и вы можете получить путь к файлу через fd.

Так что этот пример должен работать нормально:

// api/controllers/AnyController.js 
var path = require('path'); 
var xlsToJson = require('xls-to-json'); 

module.exports = { 
    index: function(req, res) { 
    req.file('param_name').upload(function(error, files) { 
     if (error) return res.serverError(error); 

     xlsToJson({ 
     input: files[0].fd, 
     output: path.resolve('./', 'output.json') 
     }, function(error, result) { 
     if (error) return res.serverError(error); 
     res.ok(result); 
     }); 
    }); 
    } 
}; 
+0

Спасибо, что работает отлично !!! – Martin

Смежные вопросы