Mat*_*anc 5 encoding node.js multer
在 node.js 应用程序中,我使用 Multer 中间件接收上传的文本文件。这是一个有效的 ucs2 编码文件。当我尝试阅读它时,我得到一个不可读的字符串buffer.toString()。它确实得到了正确的输出buffer.toString('ucs2')。但 Multer 给出的编码是req.file.encoding === '7bit'.
我的问题是:我可以在 "7bit" 和 "ucs2" 之间建立直接关系吗,这样每当我从 Multer 得到 "7bit" 时我就可以做一个buffer.toString('ucs2')?或者它也可能意味着其他编码?在后一种情况下,我如何确保获得文本文件的正确内容?
这是代码的一部分:
var getFile = function(req, res, next) {
var encoding = req.file.encoding;
fs.readFile(req.file.path, function (err, buffer) {
var data = buffer.toString(encoding);
}
}
Run Code Online (Sandbox Code Playgroud)
该确切的代码在这里不起作用,因为encoding给出了“7bit”,而toString.
谢谢。
没有“检测”,该encoding值仅仅是客户端作为字段/文件的Content-Transfer-Encoding. 在大多数情况下,这个值可以被忽略,因为它不再被真正使用。您应该根据 mime 类型确定内容编码。
| 归档时间: |
|
| 查看次数: |
6276 次 |
| 最近记录: |