无法从网站服务器打开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);
        }

无法从网站服务器打开Pdf文件

它现在将在网站上运行。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");
}