Я пытаюсь загрузить изображение на Node.js, который работает просто отлично с этим следующим кодом:JQuery JSON загрузка изображений на Node.js
сторона клиента:
$("#portrait-upload").change(function(e) {
var data = e.target.files[0];
$.ajax({
url: "/upload",
type: "POST",
data: data,
cache: false,
processData: false,
contentType: "multipart/form-data",
success: function(response) {
console.log(response);
}
});
});
сервера сторона:
if(req.url == "/upload"){
var image = fs.createWriteStream("temp.jpg");
req.on("data", function(chunk) {
image.write(chunk);
res.write("Data received.\n");
});
req.on("end", function() {
image.end();
res.end("Data reception ended.");
});
}
Кроме того, хотя, я хочу, чтобы прочитать имя файла на стороне сервера. По-видимому, я не могу прочитать его из объекта запроса (по крайней мере, я не нашел подходящего метода). Поэтому я подумал, отправляющих объект JSON как с именем файла и сам файл - что-то вроде этого:
{ filename : data.name, file: data }
Но это, по-видимому, не работает - это даже можно поместить изображения-данные в объект JSON подобное и прочитать его на сервере?
Что было бы лучшим способом передачи имени файла и самого файла изображения на узел?
Благодаря
вы можете использовать для этого внешние модули, такие как [грозное] (https://github.com/felixge/node-formidable) – Ravi