1

我在我的其他控制器上使用 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;
    }
}
4

0 回答 0