我已经用谷歌搜索了所有的互联网,但我还没有找到我的问题。我正在使用 multipart 上传到 nodejs,但是我所有的文件都损坏了,我使用了许多解析解决方案,我可以用强大的方法来完成,但我想学习如何自己解析。输出文件的二进制代码与原文件完全相同[大小和二进制(我使用hexdump -C int终端检查)]。
这是代码示例:
var http = require("http");
var fs = require("fs");
http.createServer(function(req, res){
if(!((req.url === "/upload") && (req.method === "POST"))){
home(res);
}else{
upload(req, res);
}
}).listen(8888);
function home(res){
res.end("<html><body><form action='/upload' method='post' enctype='multipart/form-data''><input name='file' type='file'/><input type='submit'></form></body></html>");
}
function upload(req, res){
var data = "";
req.setEncoding("binary");
req.addListener("data", function(chunk){
data = chunk.split("\r\n")[4];/*This was my last chance, but it also failed*/
});
req.addListener("end", function(){
res.end();
console.log(data);
fs.writeFile("icone.ico", data, "binary", function(err){/*I also used fs.createWriteStream*/
console.log("done");
});
});
}