我使用 Quartz.Net 2.5.0 版创建了一个 CronJob。这个 CronJob 的目的
- 必须每天在特定时间运行。
- 从 FTP 位置下载文件并将其保存在本地。
- 处理下载的文件。
已使用以下代码从 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 已处理下载的文件。但该文件不可用。
不知道是什么导致了这个问题。请指导我解决此问题。