我正在下载xlsx文件
var options = urlObj;
options.method = 'GET';
options.headers = {'Content-Type':'text/plain'};
function reqCallback(res) {
// default: 'utf8'
res.setEncoding('utf8'); //utf16le'); //binary'); //hex'); //utf8
res.pipe (
simplexlsx( function (err, table) {
if (err) {console.log('simple-xlsx: '+err)};
console.log('simplexlsx for '+ table);
})
)
}
var req = http.request(options);
req.on('response', reqCallback);
req.end();
从:
server: 'Microsoft-IIS/7.5'
'x-aspnet-version': '4.0.30319',
'x-powered-by': 'ASP.NET'
我也没有在标题中拥有:
'content-type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
得到:
events.js:72
throw er; // Unhandled 'error' event
^
Error: Parse Error
at Socket.socketOnData (http.js:1588:20)
at TCP.onread (net.js:528:27)
我将对simple-xlsx解析器的响应传递给json,这在处理错误时工作正常。
当我设置:setEncoding('hex')
simple-xlsx: Error: invalid signature: 0x62343035
或setEncoding('binary')
simple-xlsx: Error: invalid distance too far back
和setEncoding('utf16le')或setEncoding('utf8')得到解析错误。
如何解决解析错误?