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

时间:2014-09-22 07:00:53

标签: c# asp.net asp.net-mvc-4 fedex

我正在做MVC ASP.NET网站,我必须整合FedEx运费。 我必须在流程结束时打开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);
        }

1 个答案:

答案 0 :(得分:0)

它现在可以在网站上使用。 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");
}
相关问题