相关疑难解决方法(0)

C#通过FTP下载所有文件和子目录

一般信息
我还在学习C#.为了帮助自己,我正在尝试创建一个程序,它将自动将我的所有本地项目与我的FTP服务器上的文件夹同步.这样,无论我是在学校还是在家,我总是可以使用相同的项目.

我知道像Dropbox这样的程序已经为我做了这个,但我想创造类似的东西,我自己会教我很多东西.

问题
我迈向目标的第一步是从我的FTP服务器下载所有文件,子目录和子文件.我已经设法从下面的代码下载目录中的所有文件.但是,我的代码只列出了主目录中的文件夹名称和文件.子文件夹和子文件永远不会返回,也永远不会下载.除此之外,服务器返回550错误,因为我正在尝试下载文件夹,就像它们是文件一样.我已经在这上面了4个多小时了,但我找不到任何关于如何解决这些问题并让它发挥作用的事情.因此,我希望你们能帮助我:)

public string[] GetFileList()
{
    string[] downloadFiles;
    StringBuilder result = new StringBuilder();
    WebResponse response = null;
    StreamReader reader = null;

    try
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
        request.UseBinary = true;
        request.Method = WebRequestMethods.Ftp.ListDirectory;
        request.Credentials = new NetworkCredential(ftpUserName, ftpPassWord);
        request.KeepAlive = false;
        request.UsePassive = false;
        response = request.GetResponse();
        reader = new StreamReader(response.GetResponseStream());
        string line = reader.ReadLine();
        while (line != null)
        {
            result.Append(line);
            result.Append("\n");
            line = reader.ReadLine();
        }
        result.Remove(result.ToString().LastIndexOf('\n'), 1);
        return result.ToString().Split('\n');
    }
    catch (Exception ex)
    {
        if …
Run Code Online (Sandbox Code Playgroud)

.net c# ftp ftpwebrequest

16
推荐指数
1
解决办法
3万
查看次数

C#中的FTPS(基于SSL的FTP)

我需要一些指导.我需要在C#中开发一个可自定义的FTP,它应该使用App.Config文件进行配置.此外,FTP应该再次从任何客户端将数据推送到任何服务器依赖于配置文件.

如果有人可以指导,如果有任何API或任何其他有用的建议,或者让我朝着正确的方向前进,我将不胜感激.

.net c# winforms

10
推荐指数
3
解决办法
8274
查看次数

使用XMLHttpRequest和通用处理程序下载PDF文件

我正在尝试使用Jquery Ajax请求从FTP服务器下载PDF文件.我提到http://www.dave-bond.com/blog/2010/01/JQuery-ajax-progress-HMTL5/.

我的Jquery ajax调用如下

 $.ajax({
                 xhr: function () {
                     var xhr = new window.XMLHttpRequest();
                   
                     //Download progress
                     xhr.addEventListener("progress", function (evt) {
                         console.log("Event :"+evt.lengthComputable);
                         if (evt.lengthComputable) {
                             var percentComplete = evt.loaded / evt.total;
                             //Do something with download progress
                             console.log(percentComplete);
                         }
                     }, false);
                     return xhr;
                 },
                 type: 'POST',
                 url: "Downloader.ashx",
             
                 success: function (data) {
                     //Do something success-ish
                 }
             });
Run Code Online (Sandbox Code Playgroud)

我下载文件的C#通用处理程序代码如下

  public void ProcessRequest(HttpContext context)
        {
            DownLoadFilesFromFTp("MyFile.pdf", "Foldername");
            
        }
        public bool DownLoadFilesFromFTp(string fileName,string ftpFolder)
        {
            //Create FTP Request.
            try
            {
                string Ftp_Host …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net ajax jquery

5
推荐指数
1
解决办法
707
查看次数

如何使用自动恢复工具下载ftp文件

我有一个问题,问题是我可以下载ftp文件但我下载的文件没有恢复设施和多部分文件下载,因为有超过500 MB文件的大文件我不能连续下载文件因为我断开连接并且它从头开始下载我希望我的代码是一个恢复工具,如果它断开连接

我正在使用的代码是

    public string[] GetFileList()
    {
        string[] downloadFiles;
        StringBuilder result = new StringBuilder();
        FtpWebRequest reqFTP;
        try
        {
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/"));
            reqFTP.UseBinary = true;
            reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
            reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
            WebResponse response = reqFTP.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream());
            //MessageBox.Show(reader.ReadToEnd());
            string line = reader.ReadLine();
            while (line != null)
            {
                result.Append(line);
                result.Append("\n");
                line = reader.ReadLine();
            }
            result.Remove(result.ToString().LastIndexOf('\n'), 1);
            reader.Close();
            response.Close();
            //MessageBox.Show(response.StatusDescription);
            return result.ToString().Split('\n');
        }
        catch (Exception ex)
        {
            System.Windows.Forms.MessageBox.Show(ex.Message);
            downloadFiles = null;
            return downloadFiles; …
Run Code Online (Sandbox Code Playgroud)

c#

4
推荐指数
1
解决办法
2960
查看次数

标签 统计

c# ×4

.net ×2

ajax ×1

asp.net ×1

ftp ×1

ftpwebrequest ×1

javascript ×1

jquery ×1

winforms ×1