如何在C#中将richtextbox内容直接存储到ftp
本文关键字:存储 ftp 中将 richtextbox | 更新日期: 2023-09-27 18:20:07
Guys这是在ftp上存储文件的代码。任何人都可以重新配置此代码,使其将richtextbox的内容存储在windows窗体中吗?我正在richtextbox上写任何东西,当我单击按钮时,它应该直接存储ftp。
{
Stream requestStream = null;
FileStream fileStream = null;
FtpWebResponse uploadResponse = null;
try
{
uploadUrl = "ftp://ftp.personalwebars.com/ATM/";
fileName = txtTitle.Text + ".txt";
FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(uploadUrl + @"/" + fileName);
uploadRequest.Method = WebRequestMethods.Ftp.UploadFile;
//Since the FTP you are downloading to is secure, send
//in user name and password to be able upload the file
ICredentials credentials = new NetworkCredential(user, pswd);
uploadRequest.Credentials = credentials;
//UploadFile is not supported through an Http proxy
//so we disable the proxy for this request.
uploadRequest.Proxy = null;
//uploadRequest.UsePassive = false; <--found from another forum and did not make a difference
requestStream = uploadRequest.GetRequestStream();
byte[] buffer = new byte[1024];
int bytesRead;
while (true)
{
bytesRead = fileStream.Read(buffer, 0, buffer.Length);
if (bytesRead == 0)
break;
requestStream.Write(buffer, 0, bytesRead);
}
//The request stream must be closed before getting
//the response.
requestStream.Close();
uploadResponse =
(FtpWebResponse)uploadRequest.GetResponse();
lblAuthentication.Text = "Your solution has been submitted in txt Mode. Thank You";
}
catch (WebException ex)
{
}
finally
{
if (uploadResponse != null)
uploadResponse.Close();
if (fileStream != null)
fileStream.Close();
if (requestStream != null)
requestStream.Close();
}
}
试试这个,从文本框中提取字符串,并将其作为内容参数传入
public void Send(string url, string fileName, string content, string user, string password)
{
byte[] bytes = Encoding.ASCII.GetBytes(content)
var request = (FtpWebRequest) WebRequest.Create(new Uri(url + @"/" + fileName));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.UsePassive = false;
request.Credentials = new NetworkCredential(user, password);
request.ContentLength = bytes.Length;
var requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
var response = (FtpWebResponse) request.GetResponse();
if (response != null) response.Close();
}