在我的代码中,我想上传特定的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;
}
答案 0 :(得分:0)
我找到了解决方案。这是我的错。问题不在于下载 - 代码是正确的(如你所说)。
下载文件后,JSON-Deserialization运行,这就是原因。我的反序列化逻辑中有一点错误。