110,566
社区成员
发帖
与我相关
我的任务
分享
<Images>
<List>
<abc>342.jpg</abc>
<INV2010-00001>123.jpg</INV2010-00001>
</List>
</Images>
protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
Watching();
}
private void Watching()
{
fileWatcher.Path = WatcherTool.GetInstance.WatchPath;
fileWatcher.Filter = WatcherTool.GetInstance.WatchFileType;
fileWatcher.IncludeSubdirectories = WatcherTool.GetInstance.IsIncludeSubDirectory;
fileWatcher.Created += new FileSystemEventHandler(fileWatcher_Created);
}
private void fileWatcher_Created(object sender, FileSystemEventArgs e)
{
if (e.ChangeType == WatcherChangeTypes.Created)
{
//E:\\XXX\\Project\\Picture\\INV2010-00012\\135555.jpg
string fullPath = e.FullPath; //图片所在的完整路径
string fileName = fullPath.Substring(fullPath.LastIndexOf("\\") + 1); //图片的文件名
string fileFolder = fullPath.Substring(0, fullPath.LastIndexOf("\\") + 1);//图片所在的文件夹目录,如:D:\\images\\20101121\\
string filePath = fileFolder.Substring(fileFolder.LastIndexOf('\\') + 1) + "\\" + fileName; //图片所在的文件夹,如:20101112\\12355.jpg
WatcherTool.GetInstance.WritePictureChangeLog(filePath);
}
}
WatcherTool类部分代码:
public void WritePictureChangeLog(string fileName)
{
char[] sp = new char[]{'\\'};
string path = string.Empty;
string file = string.Empty;
if (fileName.IndexOfAny(sp) != -1)
{
path = fileName.Substring(0, fileName.IndexOf('\\'));
file = fileName.Substring(fileName.IndexOf('\\') + 1);
}
else
{
path = "INV" + DateTime.Now.ToString("yyyy") + "00001";
file = fileName;
}
XmlConfigFactory.PictureConfig.InsertMulti("PictureList/PicturePath", path, file);
}
InsertMulti方法:
public void InsertMulti(string xPath, string nodeName, string nodeValue)
{
ClearCache();
try
{
XmlNode node = doc.SelectSingleNode(xPath);
if (node != null)
{
XmlElement element = doc.CreateElement(nodeName);
element.InnerText = nodeValue;
node.AppendChild(element);
doc.Save(filePath);
}
}
catch (Exception ex)
{
WatcherTool.GetInstance.Error(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " ==> " + ex.Message);
}
}