【解決方法】C# を使用した FTP アップロード

プログラミングQA


だから私はこのftpアップロード、ローカルからftpフォルダーへのファイルのアップロードを持っていますが、私の問題は、アップロードされたファイルを表示するにはFTPフォルダーを更新する必要があることです。

助けてください。

私が試したこと:

using System.Net;
using System.IO;

//Create FTP request
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(ftpAdd + "/" + Path.GetFileName(filePath));

request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(username, password);
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = true;

//Load the file
FileStream stream = File.OpenRead(filePath);
byte[] buffer = new byte[stream.Length];

stream.Read(buffer, 0, buffer.Length);
stream.Close();

//Upload file
Stream reqStream = request.GetRequestStream();
reqStream.Write(buffer, 0, buffer.Length);
reqStream.Close();
                    
request = null;
MessageBox.Show("Uploaded Successfully");

解決策 1

FileZilla を使用すると、次のことが可能になります。 Filezilla: FTP フォルダを自動的に更新する方法[^]

解決策 2

public static void Upload(文字列 f)
{
文字列 ftpserverIP = System.Configuration.ConfigurationManager.AppSettings[“ftpserverIP”];
文字列ユーザー名 = System.Configuration.ConfigurationManager.AppSettings[“username”];
文字列パスワード = System.Configuration.ConfigurationManager.AppSettings[“password”];
文字列 portno = System.Configuration.ConfigurationManager.AppSettings[“portno”];
文字列 FromLocalFile = System.Configuration.ConfigurationManager.AppSettings[“FromLocalFile”].ToString();
文字列 ToServerFile = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings[“ToServerFile”].ToString();
文字列 RemoteDir = System.Configuration.ConfigurationManager.AppSettings[“RemoteDir”].ToString();
試す
{
文字列 uri = ftpserverIP + ToServerFile + “https://www.codeproject.com/”;
URI serverUri = 新しい Uri(s);
if (serverUri.Scheme != Uri.UriSchemeFtp)
{

}
string file1 = string.Format(f);

string path1 = Path.Combine(RemoteDir, DateTime.Now.ToString(“ddd MM.dd.yyyy”), Path.GetFileName(file1));
// CreateRemoteDir() メソッドを呼び出します。
Program.CreateRemoteDir();
FtpWebRequest リクエスト = (FtpWebRequest)WebRequest.Create(ftpserverIP + “https://www.codeproject.com/” + path1);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = 新しい NetworkCredential(ユーザー名、パスワード);
request.KeepAlive = true;
request.UseBinary = true;
// ファイルの内容をリクエスト ストリームにコピーします。
StreamReader sourceStream = 新しい StreamReader(file1);
バイト[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
ストリーム requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
}
キャッチ (WebException wEx)
{
Console.WriteLine(wEx.Message, “アップロード エラー”);
}
キャッチ(例外例)
{
Console.WriteLine(ex.Message, “アップロードエラー”);
}
}

コメント

タイトルとURLをコピーしました