我使用HttpResponseMessage将文件返回到前端:
public HttpResponseMessage Post(string version, string environment,
string filetype)
{
var path = @"C:\Temp\a.txt";
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(path, FileMode.Open, FileAccess.Read);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
return result;
}问题是我如何在文件的同时返回消息?我认为如果将消息添加到自定义标题中,它会有限制。
编辑:
这里的用例是该操作将创建大量文件,压缩文件并将zip文件返回到前端,但问题是有些文件没有成功创建,我需要将文件名返回到前端,我可以在数据库中创建日志,但问题是前端不知道日志id或其他标识特定日志的信息。
发布于 2021-06-02 13:41:01
简单的答案是:你不能。
Content-Type: application/octet-stream设置内容类型,因此浏览器将假定内容的一部分是二进制文件。
用例是什么?也许您可以使用Multipart,就像用于电子邮件一样,但是通常只有单独的请求/端点才是典型的解决方案。您甚至可以将查询参数(如?message )附加到现有端点。
https://stackoverflow.com/questions/67806046
复制相似问题