小编Mat*_*anc的帖子

当文本文件为 ucs2 时,Express/Multer 会检测到 7 位编码。它们是同义词吗?

在 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 node.js multer

5
推荐指数
1
解决办法
6276
查看次数

在 Visual Studio 2022 中,发布到 IIS 返回构建错误,但发布到文件夹没问题(之前一切正常)

我最近已将 Visual Studio 2022 更新到 17.1.0,现在出现了这个奇怪的错误,但并非每个项目都出现此错误(到目前为止只有一个项目)。我测试过其他项目,它们仍然工作正常。

但这一项目不会发布到 IIS。它在本地构建/运行,可以发布到文件夹配置文件,并且以前的版本可以在 IIS 中运行。

这是一个 .NET 6.0 Web API 项目。

在“输出”窗口中我可以看到这两个错误:

Error CTC1000: Method not found: 'Void Microsoft.VisualStudio.Containers.Tools.Shared.Functions.AzureFunctionsFeedDataProvider..ctor(Microsoft.VisualStudio.Containers.Tools.Common.Services.Logging.ILoggingService)'.
Error MSB4018: The "KillAppInsideContainer" task failed unexpectedly.
Run Code Online (Sandbox Code Playgroud)

但我没有在 Azure 上部署,也没有在容器上部署。该项目是为 Docker 使用而设置的,但我注释掉了<DockerDefaultTargetOS>.csproj 的部分,并将其dockerfile从项目中排除以测试它是否影响结果;它消除了KillAppInsideContainer错误,但没有消除另一个错误。

任何帮助表示赞赏!谢谢

c# iis msbuild .net-6.0 visual-studio-2022

3
推荐指数
1
解决办法
3582
查看次数

标签 统计

.net-6.0 ×1

c# ×1

encoding ×1

iis ×1

msbuild ×1

multer ×1

node.js ×1

visual-studio-2022 ×1