Próbuję obsłużyć niektóre pliki JavaScript za pomocą Node.js iz dowolnego powodu pliki są obcięte w środku transmisji. Kod:Node.js obcina pliki podczas wyświetlania za pomocą HTTPS
httpsServer = http.createServer(function(req, res) {
var path = url.parse(req.url).pathname;
if (path[path.length - 1] == '/') {
path += 'index.html';
}
fs.readFile(root + path, function(err, data){
if (err) return send404(res);
res.writeHead(200, {
'Content-Type': getMimeType(getExtension(path)),
'Content-Length': data.length});
res.end(data);
});
}),
var privateKey = fs.readFileSync(settings.PRIVATE_KEY).toString();
var certificate = fs.readFileSync(settings.CERTIFICATE).toString();
var credentials = crypto.createCredentials({key: privateKey, cert: certificate});
httpsServer.setSecure(credentials);
httpsServer.listen(settings.HTTPS_PORT);
Pliki http://github.com/LearnBoost/Socket.IO/raw/master/socket.io.js i http://code.jquery.com/jquery-1.4.2.min.js. Pierwszy z nich jest odcinany dokładnie na 32 KB, a drugi dokładnie na 16 KB. Nie dzieje się to przez HTTP, tylko HTTPS i tylko przez sieć (np .: nie z localhost).
Każda pomoc będzie naprawdę doceniana.
To powinno być oznaczone jako poprawna odpowiedź. Cóż, właściwie: Buffer.byteLength (data, "utf8"). Zauważ, że "語 語 語" .length == 3 podczas gdy Buffer.byteLength ("語 語 語", "utf8") == 9, poprawna odpowiedź w tym przypadku. –
Dzięki Phil, nadzór ten! – tedeh