我如何从客户端部分上传图像,并通过向服务器(NodeJS)发出HTTP请求(POST)并将其内部保存在服务器上来发送它。
无论是Jquery使用还是XMLHttpRequest使用甚至是表单使用,我偶然发现同样的问题,无法在服务器端获取图像,因此无法在内部存储它。
代码我为客户端尝试过:
let img = document.createElement("img");
img.src = "./public/assets/img.png";
img.addEventListener("load", (e) => {
addParkingSource(img);
});
function addParkingSource(image) {
let blobFile = image;
let formData = new FormData();
formData.append("fileToUpload", blobFile);
$.ajax({
url: "http://localhost:8000/post-image",
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function(response) {},
error: function(jqXHR, textStatus, errorMessage) {
console.log(errorMessage); // Optional
}
});
}
服务器端,我无法读取它,每当我尝试读取req(请求)的数据属性时,它给出空对象,但Content-Length指向一个数字> 0,表示图像已成功发送。
app.post("/post-image", function(req, res) {
console.log(req.body);
});
注意:我现在对cors没有任何问题。
我做错了什么以及如何正确实施呢?