首页 > 解决方案 > 如何使用附加文件创建 HttpRequest(在 C# 中)?

问题描述

正如标题所说,可以找到大量关于发布端点的资源(例如来自 JS),但是我如何HttpRequest用文件构造一个(在 C# .Net 核心中)?

我试过的

var myRequest = new DefaultHttpContext().Request;
myRequest.Form.Files // GET only!

我看不到setFiles 集合 ( IFormFileCollection),我只能get这样做。

进一步的背景

这是为了集成测试端点。除了我必须点击该方法,而不是通过 URL 访问它(出于某种原因)。该方法接受 aHttpRequest并解析出Form.Files集合。因此,我需要为我的断言添加一些文件。

标签: c#asp.net-core.net-corehttprequestintegration-testing

解决方案


你是否已经尝试过这样的事情:

using (var stream = new MemoryStream(fileBytes))
{
    var bla = new DefaultHttpContext().Request;
    bla.Form.Files.Append(new Microsoft.AspNetCore.Http.Internal.FormFile(stream, 0, stream.Length, "file.txt", "file.txt"));
}

推荐阅读