应用程序在生产服务器中运行良好,但在过去2天内,应用程序在下载文件时收到“路径中的非法字符”。
现在应用程序正在以下面的格式读取文件:应用程序引发问题:
[2017-06-10 11:30:09 +1] DEBUG 94 [PickFileService] - 找到的文件 下载:52 Oct 03 06:34
<a href="https://bytes.com/SimboxDetection-TigoTD_20171003_14_40.csv">https://bytes.com/SimboxDetection-TigoTD_20171003_14_40.csv</a>
但正确的文件应该是:
[2017-29-09 18:17:11 +1] DEBUG 6 [PickFileService] - 找到的文件 下载:FB_OnNet_2017-09-29-18-17-04.csv
你们能让我知道吗,会是什么问题?????
答案 0 :(得分:0)
应用程序正在从具有.csv格式的FTP服务器读取文件,然后从特定路径的FTP服务器下载文件。
以下代码是从FTP服务器读取文件:
public string [] ListDirectory(){ var list = new List();
var request = createRequest(WebRequestMethods.Ftp.ListDirectory);
using (var response = (FtpWebResponse)request.GetResponse()) {
using (var stream = response.GetResponseStream()) {
using (var reader = new StreamReader(stream, true)) {
while (!reader.EndOfStream) {
list.Add(reader.ReadLine());
}
}
}
}
return list.ToArray();
}
在获取日志文件时,如下所示:
更正示例:FB_OnNet_2017-09-29-18-17-04.csv
现在就这样: https://bytes.com/SimboxDetection-TigoTD_20171003_14_40.csv
要从FTP服务器下载文件,我们使用了以下代码:
public string DownloadFile(string source,string dest){ log.Debug(“Entered DownloadFile()”); var request = createRequest(combine(uri,source),WebRequestMethods.Ftp.DownloadFile); log.Debug(“请求创建”);
byte[] buffer = new byte[bufferSize];
using (var response = (FtpWebResponse)request.GetResponse()) {
using (var stream = response.GetResponseStream()) {
using (var fs = new FileStream(dest, FileMode.OpenOrCreate)) {
int readCount = stream.Read(buffer, 0, bufferSize);
while (readCount > 0) {
if (Hash)
Console.Write("#");
fs.Write(buffer, 0, readCount);
readCount = stream.Read(buffer, 0, bufferSize);
}
log.Debug("Download completed for file : " + source);
}
}
log.Debug("Exiting DownloadFile()");
return response.StatusDescription;
}
}
我的问题是这段代码工作正常,但是现在应用程序从FTP服务器读取文件后出现“路径中的非法字符”错误。 能不能让我知道我们如何解决。