【发布时间】:2021-06-29 12:23:05
【问题描述】:
正如标题所说,可以找到大量关于发布到端点的资源(例如来自 JS),但是我如何用文件构造 HttpRequest(在 C# .Net 核心中) ?
我的尝试
var myRequest = new DefaultHttpContext().Request;
myRequest.Form.Files // GET only!
我似乎无法 set 文件集合 (IFormFileCollection),我只能 get 它。
更多背景
这是为了集成测试端点。除了我必须点击该方法,而不是通过 URL 访问它(出于某种原因)。该方法接受HttpRequest 并解析出Form.Files 集合。因此我需要为我的断言添加一些文件。
【问题讨论】:
-
你为什么要这样做?
-
对,
Files是只读的。您调用Add方法将文件添加到集合中...似乎您想要执行WebRequest.Create(url)之类的操作,而不是获取当前请求... -
您希望内容是一个 mime 附件,它被添加到正文并以带有两个破折号的新行开头。请参阅:docs.microsoft.com/en-us/previous-versions/office/developer/…
-
@jdweng 不,甚至没有关闭
-
@DavidG :我的建议没有错。 MIME 是您将文件添加到 HTML 消息的方式。
标签: c# asp.net-core .net-core httprequest integration-testing