无法从网站服务器打开Pdf文件
本文关键字:Pdf 文件 服务器 网站 | 更新日期: 2023-09-27 18:23:55
我正在做MVC ASP.NET网站,我必须在其中集成联邦快递。我必须在运输过程中创建的过程结束时打开一个PDF。但它并没有在网站服务器上打开。它在本地运行得很好。我的代码如下。请帮我
private static void SaveLabel(string labelFileName, byte[] labelBuffer)
{
// Save label buffer to file
FileStream LabelFile = new FileStream(labelFileName, FileMode.Create);
LabelFile.Write(labelBuffer, 0, labelBuffer.Length);
LabelFile.Close();
// Display label in Acrobat
DisplayLabel(labelFileName);
}
private static void DisplayLabel(string labelFileName)
{
System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(labelFileName);
info.UseShellExecute = true;`enter code here`
info.Verb = "open";
System.Diagnostics.Process.Start(info);
}
它现在将在网站上运行。System.Diagnostics.Process.Start用于在系统上运行相关程序。您正在服务器上运行程序,因此文件将在服务器上打开,而不是在浏览器上打开。在浏览器中打开pdf文件的方法是错误的。
正确的方法是将操作类型返回为File或FileStreamResult:
public FileStreamResult PDFGenerator()
{
///byte[] labelBuffer generate the buffer from pdf
MemoryStream ms = new MemoryStream();
ms.Write(labelBuffer, 0, labelBuffer.Length);
ms.Position = 0;
return new FileStreamResult(ms, "application/pdf");
}