虽然我知道关于此问题有几个已回答的问题,但我有一个不同的问题。
[我想清楚这对我一直有效,并且只有在对目标框架(4.6.1至4.7.2)进行更改之后,它才开始(再次)。同样,以下代码未做任何更改。我将目标框架更改回4.6.2,该问题不会消失。此外,IIS Express可以在本地运行,但是当我发布到实际的生产服务器时,则不能。
[像其他所有人一样,我必须在文件名前后加上双引号(这是我最初遇到问题时所做的事情),并且可以解决问题。但是现在,即使我有双引号,问题仍然在发生。
这里是相关代码:
Response.AddHeader("Content-Type", "application/pdf");
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=\"{1}.pdf\"; size={0}", outPdfBuffer.Length.ToString(), MyProtocolsInfo.MyProtocols));
再次,请允许我强调,这段代码很不错。
我也尝试了以下方法,但均未成功
Response.AddHeader("Content-Disposition", "attachment; filename=\"" + MyProtocolsInfo.MyProtocols + ".pdf\"");
我也尝试过前置
Response.Clear();
我不知所措,即使没有更改所讨论的代码,也可能导致此失败。
我发现了问题。服务器正在从另一个进程中添加一个附加头。