使用原生nodejshttp实现本地文件上传
时间: 2023-09-28 21:11:04 浏览: 37
好的,以下是使用原生 Node.js http 模块实现本地文件上传的代码示例:
```javascript
const http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
if (req.method === 'POST') {
let body = '';
req.on('data', (chunk) => {
body += chunk;
});
req.on('end', () => {
const filename = req.headers['filename'];
fs.writeFile(filename, body, (err) => {
if (err) {
console.error(err);
res.statusCode = 500;
res.end('Error uploading file');
} else {
res.statusCode = 200;
res.end('File uploaded successfully');
}
});
});
} else {
res.statusCode = 404;
res.end('Not Found');
}
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
```
上面的代码创建了一个 HTTP 服务器,监听本地 3000 端口。当收到 POST 请求时,会将请求体中的数据写入文件中,文件名通过请求头中的 `filename` 字段指定。上传成功后,服务器会返回 200 状态码和成功的消息,否则会返回 500 状态码和错误消息。如果收到的请求不是 POST 请求,则返回 404 状态码。