私のアプリケーションでは、クライアント/ユーザーがビデオ ファイルを ftp サーバーからローカル マシンにダウンロードする必要があるという要件があります。
以下のコードを使用すると、ftp からファイルをダウンロードできますが、ローカル クライアント PC ではなくアプリケーション サーバーにのみ保存されます。ファイルをクライアント pc にダウンロードしたいのですが、ダウンロードする前にダイアログ ボックスが表示されます。
私のコードは次のとおりです。
string ResponseDescription = "";
string PureFileName = new FileInfo(filename).Name;
string DownloadedFilePath = @"E:\\aa\\" + PureFileName;
String downloadUrl = String.Format("{0}/{1}", "ftp://abcd.int/", filename);
FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create(downloadUrl);
req.Method = WebRequestMethods.Ftp.DownloadFile;
req.Credentials = new NetworkCredential("username", "password");
req.UseBinary = true;
req.Proxy = null;
FtpWebResponse response = (FtpWebResponse)req.GetResponse();
Stream stream = response.GetResponseStream();
byte[] buffer = new byte[2048];
FileStream fs = new FileStream(DownloadedFilePath, 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();