少し遅れているようですが、あなたと同じ問題に直面しました。解決策を探した後、ファイルをダウンロードしてアップロードせずに変更を行う方法を見つけました。
私の目標は、プログラムの実行中に行われたすべての変更を終了時に保存し、プログラムの開始時にこれらのデータを FTP サーバーに保存されている .txt ファイルからロードすることでした。
ここでは、2 つの方法が使用されます。
public static void Save(ArrayList dataStore)
{
WebClient request = new WebClient();
string url = "ftp://ftpname/directory/" + "file.txt";
request.Credentials = new NetworkCredential("username", "password");
Stream postStream = request.OpenWrite(url);
foreach (Data data in dataStore)
{
byte[] writeData = Encoding.ASCII.GetBytes(data + "#");
postStream.Write(writeData, 0, writeData.Length);
}
}
public static ArrayList Load()
{
ArrayList dataStore = new ArrayList();
WebClient request = new WebClient();
string url = "ftp://ftpname/directory/" + "file.txt";
request.Credentials = new NetworkCredential("username", "password");
byte[] newFileData = request.DownloadData(url);
string fileString = Encoding.UTF8.GetString(newFileData);
if (fileString == "")
{
return dataStore;
}
string[] dataString = fileString.Split('#');
foreach (string data in dataString)
{
if (data != "")
{
dataStore.Add(data);
}
}
return dataStore;
}