【问题标题】:How to send XML file to client in ASP.NET MVC如何在 ASP.NET MVC 中向客户端发送 XML 文件
【发布时间】:2011-02-23 17:28:00
【问题描述】:

在 ASP.NET MVC 中,我有一个数据库表。我想在某个视图页面上有一个按钮,如果某些用户单击该按钮,我的应用程序将生成包含数据库中所有行的 XML 文件。然后应该将包含 XML 的文件发送到客户端,以便用户看到一个下载弹出窗口。

同样,我想允许用户上传一个 XML 文件,其内容将被添加到数据库中。

让用户上传和下载文件的最简单方法是什么?

感谢大家的回答

编辑: 这是我的方法:

public FileContentResult Download() {
        if(model.Series.Count() < 1) {
            byte[] content = new byte[0];
            return new FileContentResult(content, "Series");
        }
        XmlSerializer serializer = new XmlSerializer(model.Series.FirstOrDefault().GetType());

        MemoryStream xmlStream = new MemoryStream();
        foreach (Series s in model.Series) {
            serializer.Serialize(xmlStream, s);
        }

        byte[] content2 = new byte[xmlStream.Length];
        xmlStream.Position = 0;
        xmlStream.Read(content2, 0, (int) xmlStream.Length);

        return File(content2, "Series");
}

其中模型是 DataContext。但是,这不起作用。当我尝试下载数据时出现此错误:

XML Parsing Error: junk after document element
Location: http://localhost:1399/Xml/Download
Line Number 7, Column 10:</Series><?xml version="1.0"?>
---------^

【问题讨论】:

    标签: c# asp.net-mvc xml upload download


    【解决方案1】:

    下载部分可以使用FileStreamResult

    This page有上传下载示例;看看吧。

    【讨论】:

      【解决方案2】:

      一个 XML 文档只能有一个顶级元素。在元素结束之后,你不能拥有其他任何东西。看起来在 "&lt;/Series&gt;" 元素之后你有 "?xml version="1.0>", 这是无效的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-27
        • 2014-03-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-02
        • 1970-01-01
        相关资源
        最近更新 更多