C# 接口实例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 接口实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4111字,纯文字阅读大概需要6分钟。
内容图文
![C# 接口实例](/upload/InfoBanner/zyjiaocheng/616/4fa382c5dadd49a7994a1df1c4d7f90f.jpg)
private void Analysis(string filePath)
{
//DirectoryInfo directoryInfo = new DirectoryInfo(filePath);
//FileInfo[] fileInfo = directoryInfo.GetFiles();
var directoryInfo = new DirectoryInfo(filePath);//文件夹所在目录
var fc = new FileComparer();
FileInfo[] fileInfo = directoryInfo.GetFiles();
Array.Sort(fileInfo, fc);//按文件创建时间排正序
if (fileInfo.Count() == 0)
{
//MessageBox.Show("解析路径所选择文件不包含任何文件!");
return;
}
else {
foreach (var fileItem in fileInfo)
{
string fileExt = fileItem.Extension;
if (fileExt == ".xml"|| fileExt == ".NEMS")
{
string xmlPath = fileItem.FullName;
string GetFileName = Path.GetFileName(xmlPath);
string fullName = Path.GetDirectoryName(xmlPath);
string Name = fullName.Substring(fullName.LastIndexOf("\\"));
string FillName = xmlPath.Substring(xmlPath.LastIndexOf("\\") + 1, (xmlPath.LastIndexOf(".") - xmlPath.LastIndexOf("\\") - 1));
string partName = FillName.Substring(FillName.IndexOf("_",0)+1);
string FileName = partName.Substring(0, partName.LastIndexOf("_"));
string fileName = fileItem.Name;
//读取xml内容
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);
var content = xmlDoc;
var xmlStr = content.InnerXml;
var base64Str = HttpHelper.EncodeBase64(xmlStr, "utf-8");
GetPostData getPostData = new GetPostData();
bool result = true;
string ETPSNO1=ETPSNO.Text;
var returnstrs = getPostData.HttpPost1(base64Str, FileName, fileExt, out result, ETPSNO1);
if (!result)
{
MessageBox.Show(returnstrs);
return;
}
XmlMsg xmlMsg = (XmlMsg)JsonHelper.jsonDes<XmlMsg>(returnstrs);
//MessageBox.Show("文件路径" + xmlPath + "接口状态:" + xmlMsg.status);
if (xmlMsg.status == "0")
{
string FailBox = fullName.Substring(0, fullName.LastIndexOf("\\")) + "\\FailBox";
if (!Directory.Exists(FailBox))
{
Directory.CreateDirectory(FailBox);
}
//将申报失败的文件移动到FailBox文件夹
string FdelPath = Path.Combine(FailBox, fileName);
File.Move(xmlPath, FdelPath);
MessageBox.Show("申报解析文件失败");
}
if (xmlMsg.status == "1")
{
//MessageBox.Show("申报解析文件成功");
//string TempDelFile = fullName.Substring(0, fullName.LastIndexOf("\\"));
string OverInBox = fullName.Substring(0, fullName.LastIndexOf("\\")) + "\\OverInBox";
if (!Directory.Exists(OverInBox))
{
Directory.CreateDirectory(OverInBox);
}
//将申报成功的文件移动到OverInBox文件夹
string delPath = Path.Combine(OverInBox, fileName);
File.Move(xmlPath, delPath);
//File.Delete(delPath);//删除
XmlNode xmlNodeEPN = xmlDoc.SelectSingleNode("//DealFlag");
string DealFlag = xmlNodeEPN.InnerXml;
if (DealFlag == "-1")
{
bool result3 = true;
var strs = getPostData.HttpPostPath(delPath, fileName,out result3);
if (!result3)
{
MessageBox.Show(strs);
return;
}
XmlMsg xmlMsgs = (XmlMsg)JsonHelper.jsonDes<XmlMsg>(strs);
if (xmlMsgs.status == "0")
{
MessageBox.Show("错误回执文件信息路径更新失败");
}
if (xmlMsgs.status == "1")
{
MessageBox.Show("已将错误回执文件信息路径更新成功");
}
}
}
}
}
}
}
public string HttpPost1(string jsonStr, string FileName, string fileExt, out bool result,string ETPSNO)
{
result = true;
string str = null;
string url = IniStaticField.postUrl + "/api/MessageXML/AnalysisMessage";
string postStr= "{ \"jsonStr\" :\"" + jsonStr + "\",\"FileName\" :\"" + FileName + "\",\"fileExt\" :\"" + fileExt + "\",\"ETPSNO\" :\"" + ETPSNO + "\"}";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
UTF8Encoding utf8 = new UTF8Encoding();
byte[] byteArray = utf8.GetBytes(postStr);
request.ContentLength = byteArray.Length;
try
{
System.IO.Stream postStream = request.GetRequestStream();
postStream.Write(byteArray, 0, byteArray.Length);
postStream.Close();
}
catch (WebException ex)
{
var wrongs = ex.Status;
result = false;
return ex.ToString();
}
HttpWebResponse res = null;
StreamReader reader = null;
try
{
res = (HttpWebResponse)request.GetResponse();
reader = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("utf-8"));
str = reader.ReadToEnd();
return str;
}
catch (WebException ex)
{
res = (HttpWebResponse)ex.Response;
MessageBox.Show("解析Xml文件发生错误,错误信息为:" + ex.Message);
result = false;
return ex.ToString();
}
finally
{
if (reader != null)
{
reader.Close();
reader.Dispose();
}
if (res != null)
{
res.Close();
}
}
}
内容总结
以上是互联网集市为您收集整理的C# 接口实例全部内容,希望文章能够帮你解决C# 接口实例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。