Я пишу сервер node.js, а для части сайта пользователь должен иметь возможность загружать изображение. Когда изображение загружается, копия на сервере повреждена.Node.js записывать данные необработанного изображения
Вот сценарий для синтаксического анализатора тела.
request.body = {};
var busboy = new Busboy({headers: request.headers});
busboy.on("field", function(fieldname, val) {
request.body[fieldname] = val;
});
busboy.on("file", function(fieldname, file, filename) {
var fileContents = "";
file.on("data", function(data) {
fileContents += data;
});
file.on("end", function() {
request.body[fieldname] = {"filename": filename, "contents": fileContents};
});
});
busboy.on("finish", function() {
next(request, response);
});
request.pipe(busboy);
Когда текстовый файл загружен, сервер сохраняет его просто отлично, но некоторые символы в файлах изображений не отправлено или получено правильно.
Написать файл в ANSI? Какие? Файл изображения - это двоичные данные, которые на самом деле не зависят от вашего выбора кодировки. Что побуждает вас идентифицировать это как проблему? Вы смотрели на «поврежденный» файл, проверяли, содержат ли он заголовки HTTP или некоторые данные мусора? –
Без какого-либо кода трудно сказать, что происходит. – robertklep
Ну, файл, который я загружаю, имеет символы типа ‰, но когда node.js записывает их в файл, они становятся . Так есть ли другой способ сохранить символы при записи файла? –