+-
我需要知道如何在C#中把字节[]转换为IFormFile,.NET COREDo你有什么办法解决这个问题吗?
谢谢你。
0
投票
投票
源代码 FromFile.cs 显示它实现了 IFromFile 介面。虽然你可以很容易地从 HttpRequest.Form.Files
属性,如果处理的是http请求,你仍然可以创建一个自定义的 IFromFile 对象,或通过本地文件或通过你已经拥有的字节数组。这样的一个例子,希望对大家有所帮助。
UnitTest.cs
[Fact]
public async Task FileUploadToStorage_ReturnTrue_Test()
{
var testFilePath = "path/to/test.jpg";
var testFileBytes = File.ReadAllBytes(testFilePath);
var service = new FakeStorageService();
using (var ms = new MemoryStream(testFileBytes))
{
IFormFile fromFile = new FormFile(ms, 0, ms.Length,
Path.GetFileNameWithoutExtension(testFilePath),
Path.GetFileName(testFilePath)
);
var result = await service.Upload(fromFile);
Assert.True(result);
}
}
FakeStorageService.cs
public class FakeStorageService
{
public async Task<bool> Upload(IFormFile file)
{
using (var fs = file.OpenReadStream())
{
return await GetStorage().UploadAsync(fs);
}
}
}