我目前正在尝试将数据(客户端计算机)写入用户可以保存的xml文件中。但是,我希望用户能够决定他们想要保存这个写入的xml文件的位置。是否有任何控件或代码可供用户保存文件?
更新
是正确的方法吗?
**HttpContext.Current.Response.Write(xw.ToStroing()); <<< ??????**
HttpContext.Current.Response.End();
更新:
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
MemoryStream ms = new MemoryStream();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "text/xml";
HttpContext.Current.Response.AddHeader("Content-Disposition:", "attachment;filename=" + HttpUtility.UrlEncode(fileName));
using (StringWriter sw = new StringWriter())
{
using (XmlWriter xw = XmlWriter.Create(ms, settings))
{
xw.WriteStartDocument();
xw.WriteStartElement("Name");
xw.WriteStartElement("Application");
................
......................
HttpContext.Current.Response.Write(xw.ToStroing());
HttpContext.Current.Response.End();
答案 0 :(得分:1)
当您开始下载文件时,客户端的浏览器将处理文件保存位置。
如果要强制下载文件而不是打开文件,请将此HTTP标头添加到您的响应中:
Content-Disposition: attachment; filename="myFile.xml"
答案 1 :(得分:1)
这里是link帮助我:)
答案 2 :(得分:0)
MemoryStream
在哪里使用?您应该将StringWriter
传递给XmlTextWriter
构造函数,然后Response.Write()
StringWriter
答案 3 :(得分:0)
在Response.AddHeader行之后添加:
Response.ContentType = "application/octet-stream";
这将强制下载文件,无论文件类型如何。