ASP.NET将PDF文件从远程共享发送给用户以打开

本文关键字:共享 给用户 PDF NET 文件 程共享 ASP | 更新日期: 2023-09-27 18:29:19

所以我的代码是生成一个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);

但这也不起作用。

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

ASP.NET将PDF文件从远程共享发送给用户以打开

试试这个。

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();