如何将字符串保存为FormFile格式的文件
本文关键字:FormFile 格式 文件 保存 字符串 | 更新日期: 2023-09-27 17:59:59
我有支持上传nig文件的控制器。里面是一个验证文件中数据的方法。
IEnumerable<ValidationResult> Validate(ICollection<IFormFile> files)
它工作得很好。现在我需要给这个控制器写测试。我的问题是:如何将文件形式的光盘以FormFile
格式传递到我的功能中?
一般来说,实现这样的接口的原因是为了帮助您能够测试它。
您可以很容易地编写一个实现IFormFile
的测试类,从测试传递给您的控制器方法
public class TestFormFile : IFormFile
{
// Implementation here
}
请参阅所有属性的文档&方法。
您的实现可能应该在构造函数中获取字符串内容,并在实现IFormFile
上的3个方法时使用它——例如,OpenReadStream
的方法可以通过使用MemoryStream
来实现(注意,您需要知道测试字符串的编码!):
public class TestFormFile : IFormFile
{
private string testFileContents;
public TestFormFile(string testFileContent)
{
this.testFileContents = testFileContents;
}
public Stream OpenReadStream()
{
return new MemoryStream(Encoding.UTF8.GetBytes(testFileContents));
}
// Implement Other methods and properties.
}