解析来自request.file XML没有在服务器保存[复制]

问题描述 投票:0回答:1

这个问题已经在这里有一个答案:

我上传过$.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");
        }
c# xml stream
1个回答
1
投票

你有两个选择与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       
}
© www.soinside.com 2019 - 2024. All rights reserved.