J'essaie de traiter certains fichiers JavaScript avec Node.js et, pour une raison quelconque, les fichiers sont coupés au milieu de la transmission. Le code:Node.js supprime les fichiers lors de la diffusion via 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);
Les fichiers http://github.com/LearnBoost/Socket.IO/raw/master/socket.io.js et http://code.jquery.com/jquery-1.4.2.min.js. Le premier est coupé exactement à 32KB et le second à exactement 16KB. Cela ne se produit pas via HTTP, uniquement via HTTPS et uniquement sur un réseau (par exemple: pas localhost).
Toute aide serait vraiment appréciée.
Ceci devrait être marqué comme la bonne réponse. Eh bien, ceci, en fait: Buffer.byteLength (data, 'utf8'). Notez que "語 語 語" .length == 3 tandis que Buffer.byteLength ("語 語 語", "utf8") == 9, la bonne réponse dans ce cas. –
Merci Phil, surveillé celui-là! – tedeh