FTP上传会超时,但确实会上传文件

本文关键字:文件 超时 FTP | 更新日期: 2023-09-27 18:10:19

我正在努力弄清楚这个元素,我制作了一个ftp模块,除了上传方法之外,其他操作都能完美地工作。事实上,它确实有效,但仍然返回一个错误。

所以我在一段时间后遇到了超时错误,但当我检查ftp时,文件被成功添加。所以我不能理解这个功能。。

我的代码:

public static Boolean upload(string remoteFile, string localFile, string applicatie_url) {
        Boolean returnbool = false;
        try {
            FtpWebRequest ftpRequest;
            FtpWebResponse ftpResponse = null;
            Stream ftpStream = null;
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            ftpRequest.Method = WebRequestMethods.Ftp.UploadFile; // upload
            byte[] b = File.ReadAllBytes(localFile);
            ftpRequest.ContentLength = b.Length;
            ftpStream = ftpRequest.GetRequestStream();
            try {
                ftpStream.Write(b, 0, b.Length);
                ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            } catch (Exception ex) {
                                  // Error catching
            }
            // Cleanup
            ftpStream.Close();
            ftpRequest = null;
            ftpResponse = null;
            returnbool = true;
        } catch (Exception ex) { 
          // Error catching
        }
        return returnbool;
    }

我的前任消息:"传输超时。">

我的前任stacktrace:"位于/Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baee2f/source/bokbuild/profiles/mono-2-10/build-root/mono-2.10.11/_build/mono-2.10-11.git/mcs/class/System/System.Net/FtpWebRequest.cs:411中的System.Net.FtpWebRequest.EndGetResponse(IAsyncResult-asyncResult([0x0052]处在/Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baee2f/source/bockbuild/profiles/mono-2-10/build-root/mono-2.10.11/_build/mono-2.10-11.git/mcs/class/System/System.Net/FtpWebRequest.cs:426中的System.Net.FtpWebRequest.GetResponse(([0x0009]在/Users/中的AutoPolis.FTPHelper.upload(System.String remoteFile,System.String localFile,System.String application_url([0x0078]/App_Code/FTPHelper.cs:92'

如有任何帮助,我们将不胜感激。我在mac上使用MonoDevelop作为IDE,不知道这是否会给这个元素带来任何机会。。

FTP上传会超时,但确实会上传文件

我过去看过一些ftp程序,注意到在代码清理中,您编写了ftpResponse=null;但我会选择"ftpResponse.Close((;"。您的stacktrace似乎提到了FTPWebRequest,所以这可能会有所帮助!

p.s.这可能会有所帮助:http://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class