1
 private static void DownloadFile()
        {
            FtpWebRequest reqFTP;
            WebResponse webResponse;
            GetTheResponseFromFTP(out reqFTP, out webResponse, true);

            FtpWebResponse response = (FtpWebResponse)webResponse;

            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream);

            using (StreamWriter streamWriter =
                  new StreamWriter("d:\\TestUnity.pdf", true))
            {
                streamWriter.WriteLine(reader.ReadToEnd());
            }


            reader.Close();
            response.Close();  
        }

我有上述功能,即从 FTP 位置下载文件。我正在阅读文本并尝试将其写入本地计算机的文件中。生成的 PDf 文件与下载的大小相同,但是当我打开文件时它是空白的。现在我有两个问题:

  1. 任何人都可以建议如何将下载的文件保存到可以更改的路径中。
  2. 上面提到的问题的原因是什么。
4

2 回答 2

1

文档中。

StreamWriter实现了一个 TextWriter 用于将字符写入流

这意味着您没有创建一个 pdf 文件,而是一个带有 *.pdf 扩展名的文本文件。

有多种实用程序可用于创建 pdf

WkHtmlToPDFITextSharp只是两个

于 2013-08-14T10:36:43.477 回答
0

这是对我有用的非常简单的代码

    void GeneratePDF(WebResponse response)
    {
        using (var streamFile = File.Create("E:/JSS.pdf"))
        response.GetResponseStream().CopyTo(streamFile);
    }
于 2014-11-10T11:26:47.870 回答