C#FTP下载 - JSON文件

时间:2014-01-02 21:00:39

标签: c# json ftp

在我的代码中,我想上传特定的JSON文件并将其下载到FTP服务器。

序列化效果很好,也可以上传。当我通过 - 例如 - FileZilla查找文件时,文件的内容是正确的。 (在服务器上)

但是当我用我的应用程序(和我的代码 - 而不是FileZilla)下载这个文件时,我没有任何异常,但文件几乎是空的。这是唯一的内容:

  

{}

这是我的下载代码:

        string ResponseDescription = "";
        FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" + "ftp.strato.com" + "/" + verzeichnis + "/" + file.Name);
        req.Method = WebRequestMethods.Ftp.DownloadFile;
        req.Credentials = new NetworkCredential(this.benutzer, this.passwort);
        req.UseBinary = true;
        req.UsePassive = false;
        req.Proxy = null;
        try
        {
            FtpWebResponse response = (FtpWebResponse)req.GetResponse();
            Stream stream = response.GetResponseStream();
            byte[] buffer = new byte[2048];
            FileStream fs = new FileStream(destinationFolder + @"/" + destinationFile.Name, FileMode.Create);
            int ReadCount = stream.Read(buffer, 0, buffer.Length);
            while (ReadCount > 0)
            {
                fs.Write(buffer, 0, ReadCount);
                ReadCount = stream.Read(buffer, 0, buffer.Length);
            }
            ResponseDescription = response.StatusDescription;
            fs.Close();
            stream.Close();

            return true;
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message); // TODO - better Errorhandling
            return false;
        }

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。这是我的错。问题不在于下载 - 代码是正确的(如你所说)。

下载文件后,JSON-Deserialization运行,这就是原因。我的反序列化逻辑中有一点错误。