gpt4 book ai didi

c# - 如何在没有最小起订量的情况下在 C# 中实例化 FormFile 的实例?

转载 作者:太空狗 更新时间:2023-10-29 18:09:04 29 4
gpt4 key购买 nike

我想通过集成测试来测试将文件附加到 RavenDB 数据库中的文档的功能。为此,我需要一个 IFormFile 的实例。

显然,我无法从接口(interface)实例化,所以我尝试实例化 FormFile 的实例。它继承自 IFormFile 接口(interface)。

using (var stream = File.OpenRead("placeholder.pdf"))
{
var file = new FormFile(stream, 0, stream.Length, null, Path.GetFileName(stream.Name))
{
ContentType = "application.pdf"
};
}

但这会引发以下错误:

System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.AspNetCore.Http.Internal.FormFile.set_ContentType(String value)

当我从代码中删除 ContentType = "application.pdf" 时,它允许我实例化一个新实例,但没有 ContentType

如何在没有 Moq 框架的情况下使用 ContentType 实例化 FormFile 的实例?

最佳答案

感谢汉斯的评论,实际答案是:

using (var stream = File.OpenRead("placeholder.pdf"))
{
var file = new FormFile(stream, 0, stream.Length, null, Path.GetFileName(stream.Name))
{
Headers = new HeaderDictionary(),
ContentType = "application/pdf"
};
}

关于c# - 如何在没有最小起订量的情况下在 C# 中实例化 FormFile 的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51704805/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com