使用HTTP GET请求从Web Api返回文件内容

本文关键字:返回 文件 Api Web HTTP GET 请求 使用 | 更新日期: 2023-09-27 18:13:18

客户端将向我们的web api服务发出GET请求,我们需要使用指定的文件响应该请求。

文件内容将是字节数组,如:

byte[] fileContent = Convert.FromBase64String(retrievedAnnotation.DocumentBody);

如何用上述文件内容作为文件响应GET请求?

我已经找出了一个控制器:

[Route("Note({noteGuid:guid})/attachment", Name = "GetAttachment")]
[HttpGet]
public async Task<object> GetAttachment(Guid noteGuid)
{
    return new object();
}

代替新对象,我如何将filcontent返回给GET请求?

使用HTTP GET请求从Web Api返回文件内容

您可以使用下面的方法从web api返回文件内容

public HttpResponseMessage GetAttachment(Guid noteGuid)
{
    byte[] content = Convert.FromBase64String(retrievedAnnotation.DocumentBody);
    HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
    response.Content = new ByteArrayContent(content);
    response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
    response.Content.Headers.ContentDisposition.FileName = "fileName.txt";
    response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
    return response;
}