繁体   English   中英

如何将字符串保存为FormFile格式的文件

[英]How to save string into file in FormFile format

我已经获得了控制器支持的uploadnig文件。 它的内部是一种验证文件中数据的方法。

IEnumerable<ValidationResult> Validate(ICollection<IFormFile> files)

它运作完美。 现在,我需要为此控制器编写测试。 我的问题是:如何以FormFile格式将文件形式的光盘传送到我的函数中?

通常,将这样的东西实现为接口的原因是为了帮助您能够对其进行测试。

您可以轻松地编写一个实现IFormFile的测试类,以将其从测试传递给您的控制器方法

public class TestFormFile : IFormFile
{
   // Implementation here
}

有关必须实现的所有属性和方法,请参见文档

您的实现可能应该将字符串内容包含在构造函数中,并在IFormFile上实现3种方法时使用它-例如,可以使用MemoryStream来实现OpenReadStream的一种方法(注意,您需要知道测试的编码串!):

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.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM