如何 return 使用自定义消息归档

How to return File with custom Message

我使用 HttpResponseMessage 来 return 一个文件到 front-end :

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

问题是我怎样才能 return 与文件一起发送消息?我认为如果将消息添加到自定义 header 是有限制的。

编辑:

此处的 use-case 操作会创建大量文件,将文件压缩并将 return zip 文件压缩到 front-end,但问题是某些文件没有成功创建我需要 return 文件名到 front-end ,我可以在数据库中创建日志但问题是 front-end 不知道日志 ID 或其他一些信息识别具体的日志。

简单的答案是:你不能。

Content-Type: application/octet-stream 设置内容类型,因此浏览器将假定作为内容一部分的字节是二进制文件。

这里的用例是什么? 也许您 可以 使用 Multipart,就像用于电子邮件一样,但通常只使用单独的 requests/endpoints 是典型的解决方案。您甚至可以将 ?message 等查询参数附加到现有端点