0

我使用 Quartz.Net 2.5.0 版创建了一个 CronJob。这个 CronJob 的目的

  1. 必须每天在特定时间运行。
  2. 从 FTP 位置下载文件并将其保存在本地。
  3. 处理下载的文件。

已使用以下代码从 FTP 位置下载文件

            FtpWebRequest request = 
            (FtpWebRequest)WebRequest.Create(objSettings.FTPHostName + 
             "//" + objSettings.FileName);
            request.Method = WebRequestMethods.Ftp.DownloadFile;
            request.Credentials = new 
            NetworkCredential(objSettings.FTPUserName, 
            objSettings.FTPPassword);
            FtpWebResponse response = 
            (FtpWebResponse)request.GetResponse();
            Stream responseStream = response.GetResponseStream();
            FileStream file = File.Create(outputFileNameWithPath);
            byte[] buffer = new byte[32 * 1024];
            int read;

            while ((read = responseStream.Read(buffer, 0, buffer.Length)) 
            > 0)
            {
                file.Write(buffer, 0, read);
            }

            file.Close();
            responseStream.Close();
            response.Close();

变量 outputFileNameWithPath 将具有带路径的文件名。(例如 C:\Services\11-04-2019\VENDORNAME\invlistcsv.csv)

在我的本地环境中测试了这个 CronJob,CronJob 在特定时间运行,从 FTP 位置下载文件并将其保存在本地并处理下载的文件。

我还验证了下载的文件是否在本地可用,并且在 C:\Services\ 文件夹下可用。

然后我在服务器中配置了 CronJob。CronJob 运行没有任何错误,我在这里面临的问题是 CronJob 服务的下载文件在服务器的文件夹 C:\Services 中不可用。

还验证了该文件夹是否具有完全权限以及日志。日志清楚地表明 CronJob 已下载文件并且该文件在此位置可用,并且 Cronjob 已处理下载的文件。但该文件不可用。

不知道是什么导致了这个问题。请指导我解决此问题。

4

0 回答 0