node 读取前端传来的binary文件流,并以utf8格式打印内容
时间: 2024-03-01 14:56:24 浏览: 112
可以使用Node.js的Buffer对象和fs模块来完成这个任务。以下是一个例子:
```javascript
const http = require('http');
const fs = require('fs');
http.createServer((req, res) => {
if (req.method === 'POST' && req.url === '/upload') {
let chunks = [];
req.on('data', chunk => {
chunks.push(chunk);
}).on('end', () => {
let buffer = Buffer.concat(chunks);
let content = buffer.toString('utf8');
console.log(content);
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('File uploaded and printed to console!');
});
} else {
res.writeHead(404, {'Content-Type': 'text/plain'});
res.end('404 Not Found');
}
}).listen(8080, () => {
console.log('Server started on port 8080');
});
```
在这个例子中,我们创建了一个HTTP服务器,监听来自前端的POST请求。当收到请求时,我们将接收到的数据块存储在一个数组中,直到收到所有数据块。然后,我们将所有数据块拼接成一个Buffer对象,并使用toString()方法将其转换为UTF-8格式的字符串。最后,我们将字符串打印到控制台,并向前端发送响应。
阅读全文