如何 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
等查询参数附加到现有端点
我使用 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
等查询参数附加到现有端点