在Web API项目中,我有像所有人一样通过URL查看pdf的功能,
[HttpGet]
[Route("upload/document")]
public HttpResponseMessage GetPdf()
{
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
string fileName = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory.ToString() + @"Documents\test.pdf");
FileStream fileStream = File.OpenRead(fileName);
response.Content = new StreamContent(fileStream);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
return response;
}
我想要 http://localhost:54316/upload/document/test.pdf 这样的网址 但不应该得到网址,当我在邮递员中运行时,它可以下载。
答案 0 :(得分:1)
octet-stream
。据说,使用流导致浏览器只下载文件。我不得不更改类型application/pdf
。content-disposition
更改为inline
的标头。因为内容处置已经设置为attachment
。string mimeType = "application/pdf" Response.AppendHeader("Content-Disposition", "inline; filename=" + fileName);
答案 1 :(得分:0)
我自己解决了这个问题,这是我的代码
[HttpGet]
[Route("api/test/urlVideo")]
public string urlVideo()
{
string baseUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority) + "/uploads/videos/test.mp4";
return baseUrl;
}
它的工作完美。所以我得到了