我在我的其他控制器上使用 Controller 基类,但是这个特定的控制器用于使用 wpf 从服务器下载文件。如果我不放置 [authorize] 属性,但将其重定向到登录页面,下载操作返回登录页面的实际 html 代码,而不是实际文件,我可以成功下载文件而没有任何问题。你有什么理由知道它为什么会发生,或者有什么解决办法吗?我提供了一个令牌,但无论如何它都会将我重定向到登录页面。
[Authorize]
public class DownloadController: ApiController
{
[Route("File")]
[HttpGet]
public HttpResponseMessage File(string serverpath)
{
var response = new HttpResponseMessage(HttpStatusCode.OK);
var fileDirectory = $@"{HttpRuntime.AppDomainAppPath}{serverpath}";
var stream = new System.IO.FileStream(fileDirectory, System.IO.FileMode.Open);
response.Content = new StreamContent(stream);
response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
return response;
}
}