How to properly serve a PDF file

后端 未结 3 668
生来不讨喜
生来不讨喜 2020-12-17 05:17

I am using .NET 3.5 ASP.NET. Currently my web site serves a PDF file in the following manner:

context.Response.WriteFile(@\"c:\\blah\\blah.pdf\");

3条回答
  •  无人及你
    2020-12-17 06:02

    Building upon Peter Lillevold's answer, I went and just made some extension methods for his above functions.

    public static void WriteTo(this Stream inputStream, Stream outputStream)
    {
        const int bufferSize = 64 * 1024;
        var buffer = new byte[bufferSize];
    
        while (true)
        {
            var bytesRead = inputStream.Read(buffer, 0, bufferSize);
            if (bytesRead > 0)
            {
                outputStream.Write(buffer, 0, bytesRead);
            }
            if ((bytesRead == 0) || (bytesRead < bufferSize)) break;
        }
    }
    
    public static void WriteToFromFile(this Stream outputStream, string inputFile)
    {
        using (var inputStream = new FileStream(inputFile, FileMode.Open, FileAccess.Read))
        {
            inputStream.WriteTo(outputStream);
            inputStream.Close();
        }
    }
    

提交回复
热议问题