使用 express 上传文件
Posted
技术标签:
【中文标题】使用 express 上传文件【英文标题】:Uploading file with express 【发布时间】:2013-08-26 16:17:00 【问题描述】:我正在尝试制作一个能够使用 express 保存文件的简单文件服务器:
var app = express();
app.use(express.bodyParser(uploadDir:'./uploads'))
app.post('/upload', function(req, res, next)
console.log("Uploading File");
req.on('data', function(raw)
console.log('received data: ' + raw);
);
req.on('end', function()
console.log('File uploaded');
res.send(200);
);
);
我在“上传”文件夹中只得到一个空文件。
我错过了什么?
也许这是一个非常愚蠢的问题,但我是 node.js 的新手。
编辑:更多信息...
我是从我的客户那里发送的:
POST /upload HTTP/1.1
Connection: Close
Content-Length: 42
Content-Type: multipart/form-data; boundary="MIME_boundary_572B1A2B457D3267"
Cookie: session.id=b268b12e-0c05-11e3-8702-7a7919510927
Host: localhost:8080
Transfer-Encoding: chunked
Client 3 Received Message: E4
--MIME_boundary_572B1A2B457D3267
Content-Disposition: form-data; name="test1.txt"; filename="test1.txt"
Content-Type: application/octet-stream
File1 from client in W7 to send to server.
--MIME_boundary_572B1A2B457D3267--
0
分两块。
【问题讨论】:
这个链接有用吗? howtonode.org/really-simple-file-uploads 我读过,不适合我。 【参考方案1】:关于> getting an empty file in "uploads" folder
,
您必须将(解码的)请求正文保存到文件中。
另请注意,客户端内容编码是multipart。类似于 multipart 内容是很棘手的。您可以为此使用 bodyParser 中间件。
请查看this 答案以获取更多信息。
【讨论】:
我明白你的回答,但我无法获得第二个“块”来获取 hte 文件内容 重要的是 html +1 的答案,但我的客户有问题。我用一个简单的 http 表单检查了服务器并且工作正常。以上是关于使用 express 上传文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Express 路由器中使用 multer 进行文件上传