[英]Nodejs Formdata file upload
I am getting my image object from canvas and converting it into blob and then to file in java script 我正在从画布上获取图像对象,并将其转换为blob,然后转换为Java脚本中的文件
var sendingData = new FormData();
var ctx = mainCanvas.getContext("2d");
console.log("canveas content =" + noofchildren.get(i));
ctx.drawImage(noofchildren.get(i), 0, 0, mainCanvas.width, mainCanvas.height);
var b64Data = mainCanvas.toDataURL("image/jpeg", 0.7).split(",")[1];
var byteCharacters = atob(b64Data);
var byteNumbers = new Array(byteCharacters.length);
for (var j = 0; j < byteCharacters.length; j++) {
byteNumbers[j] = byteCharacters.charCodeAt(j);
}
var byteArray = new Uint8Array(byteNumbers);
var blob = new Blob([byteArray], { type: contentType });
var file = new File([blob], "sample.JPG", { type: "image/jpeg" });
sendingData.append(nameOfTheImageFiles[i], file);
var ajaxRequest = $.ajax({
type: "POST",
url: "/api/" + email + "/imagesupload",
contentType: 'multipart/form-data',
processData: false,
data: sendingData
}).success(function (data) {
console.log(data);
$("#image-container").children().remove();
});
i am using ajax to post my file to nodejs server 我正在使用ajax将文件发布到nodejs服务器
and req.files is an empty object in nodejs 和req.files是nodejs中的空对象
How to resolve? 怎么解决?
In asp.net I am getting the file on post method 在asp.net中,我正在使用post方法获取文件
Looking at the documentation of FormData.append()
, you can see that you can only have a File
as value when you have specified the third filename
parameter. 查看FormData.append()
的文档,您可以看到只有在指定了第三个filename
参数后,才能将File
作为值。 So try swapping the relevant line to the following 因此,尝试将相关行交换为以下内容
sendingData.append(nameOfTheImageFiles[i], file, "sample.JPG");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.