【问题标题】:c# rename file before ftpingc#在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();

【问题讨论】:

    标签: c# ftp rename


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 2020-01-23
      • 2012-05-25
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 2016-07-13
      • 1970-01-01
      • 2012-07-08
      相关资源
      最近更新 更多