c#在ftping之前重命名文件
Posted
技术标签:
【中文标题】c#在ftping之前重命名文件【英文标题】:c# rename file before ftping 【发布时间】:2012-01-04 01:43:06 【问题描述】:如何在将文件实际 ftped 到服务器之前将文件重命名为时间戳或随机唯一编号?
示例:如果我选择 C:\taco.pdf ..... 1321981871.pdf 实际上是 ftp 到服务器的内容。
FileInfo toUpload = new FileInfo(this.txtFile.Text);
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create(
"ftp://192.168.0.186" + "/" + toUpload.Name
);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials =
new NetworkCredential("myuser","mypassword");
Stream ftpStream = request.GetRequestStream();
FileStream file = File.OpenRead(this.txtFile.Text);
int length = 1024;
byte[] buffer = new byte[length];
int bytesRead = 0;
do
bytesRead = file.Read(buffer, 0, length);
ftpStream.Write(buffer, 0, bytesRead);
while (bytesRead != 0);
file.Close();
ftpStream.Close();
【问题讨论】:
【参考方案1】:如果您只是希望文件上传具有不同的名称而不在本地重命名,您就不能更改
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create(
"ftp://192.168.0.186" + "/" + toUpload.Name
);
到
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create(
"ftp://192.168.0.186/whatever file name you want");
?
【讨论】:
谢谢!明白了,我添加了字符串 extension = toUpload.Extension;拉出扩展名并将其附加到我的新文件名中。 FtpWebRequest 请求 = (FtpWebRequest)WebRequest.Create("192.168.0.186" + 新文件名 + 扩展名); 单击对您最有帮助的答案旁边的复选标记。对于您之前提出的所有问题,我建议您返回并这样做。【参考方案2】:使用FileInfo.MoveTo
:
toUpload.MoveTo(newName);
【讨论】:
以上是关于c#在ftping之前重命名文件的主要内容,如果未能解决你的问题,请参考以下文章