这个问题已经在这里有一个答案:
我上传过$.ajax post
作为FORMDATA XML文件的MVC控制器。是否可以解析该文件而不会被保存在服务器上的某些目录。我的C#代码如下
[HttpPost]
public ActionResult VersionXML()
{
if (Request.Files.Count > 0)
{
var file = Request.Files[0];
/*--Can I exempt this if clause and do something for the parsing--*/
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Uploads/"), fileName);
file.SaveAs(path);
}
}
return RedirectToAction("Show_New_Content");
}
你有两个选择与XML解析
1)您可以加载InputStream
文件的直接XmlDocument
和处理XML,
if (file != null && file.ContentLength > 0 && file.ContentType == "text/xml")
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load(file.InputStream);
//You can parse your xml here
//Upload file code here
}
2)您也可以加载InputStream
你的文件来XDocument
,
if (file != null && file.ContentLength > 0 && file.ContentType == "text/xml")
{
XDocument doc = XDocument.Load(new StreamReader(file.InputStream));
//You can parse your xml here
//Upload file code here
}