【发布时间】:2018-04-28 07:50:55
【问题描述】:
我如何能够从客户端部分上传图像,并通过向服务器(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(request) 的 data 属性时,它都会给出空对象,但 Content-Length 指向的数字> 0,这意味着图像已发送成功。
app.post("/post-image", function(req, res) {
console.log(req.body);
});
注意:我现在对 cors 没有任何问题。
我做错了什么以及如何正确实施它?
【问题讨论】:
标签: javascript node.js