2

因此,我的代码正在生成 PDF 报告并将其发布到远程文件共享服务器,所有这些都有效,所以我知道我对共享具有适当的读/写访问权限。

现在我正在尝试创建一个“打开 PDF”按钮,该按钮基本上只是将该文件从远程共享提供给用户,以便可以打开 PDF 并查看它,而无需转到文件共享本身并挖掘它。

我已经尝试了一些事情,但无论我做什么,我都会出错。

我试过这段代码,当它在我的 ASP.NET 服务器上时我用来提供文件并且工作正常,但是当我给它一个远程文件时它不会工作。

Response.Clear();
Response.ContentType = "Application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=Report_Submission_" +   SubmissionID + ".pdf");
String filePath = "\\\\Fileserver\\Directory1\\Directory2\\Directory3" +       "\\Report_Submission_" + SubmissionID + ".pdf";
Response.TransmitFile(filePath);
Response.End();

使用它我得到以下异常 0x800a139e - Microsoft JScript 运行时错误:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器收到的消息。

我也试过这样做

Response.ContentType = "application/pdf";
Response.WriteFile(filePath);

我得到了同样的例外。

我什至刚刚尝试过

Response.Redirect(filePath);

但这也不起作用。

我想做什么可能吗?您可以在不先将其复制到本地服务器的情况下从远程文件共享中提供文件吗?

4

1 回答 1

0

尝试这个。

Response.AddHeader("Content-Type", "application/octet-stream");

Response.AddHeader("Content-Transfer-Encoding","Binary"); 

Response.AddHeader("Content-disposition", "attachment; filename=\"sample.pdf\"");

Response.WriteFile(HttpRuntime.AppDomainAppPath + @"path\to\file\sample.pdf");

Response.End();
于 2013-09-10T18:21:32.460 回答