gpt4 book ai didi

c# - 在 C# 中使用 FTP 移动文件

转载 作者:行者123 更新时间:2023-11-30 23:15:46 26 4
gpt4 key购买 nike

目前我的应用程序的 FTP 上传部分如下所示。我需要做的是,使用 target_file_tmp_name 上传文件,并在上传完成后将其移动(或重命名)到 target_file_name。无法弄清楚如何等待上传完成然后重命名远程文件。

有什么建议吗?

var result_file_name = root_dir + "\\" + file_name + ".eps";
System.Uri target_file_name = new Uri(ftp_path + "/" + file_name + ".eps");
System.Uri target_file_tmp_name = new Uri(ftp_path + "/" + file_name + ".tmp");

await WhenFileCreated(result_file_name);
if (File.Exists(result_file_name))
{
SetProgressText("Uploading to server...");
WebClient wc_uploader = new WebClient();

wc_uploader.Credentials = new NetworkCredential("user", "pass");
wc_uploader.UploadFileCompleted += FinishProcess;
wc_uploader.UploadFileAsync(target_file_tmp_name, "STOR", result_file_name);

}

最佳答案

您的FinishProcess 必须类似于下面的代码:

 private void FinishProcess(object sender, System.EventArgs e)
{
var requestFTP = (FtpWebRequest)FtpWebRequest.Create(target_file_tmp_name);
requestFTP.Proxy = null;
requestFTP.Credentials = new NetworkCredential(ftp_login, ftp_pass);
requestFTP.Method = WebRequestMethods.Ftp.Rename;
requestFTP.RenameTo = file_name + ".eps";
requestFTP.GetResponse();
...

关于c# - 在 C# 中使用 FTP 移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com