微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

没有临时文件的OpenXML文件下载

如何解决没有临时文件的OpenXML文件下载

|| 有没有一种方法可以在ASP.Net页中提供新生成的OpenXML(docx)文件的下载,而无需将其保存在临时文件夹中? 在MSDN上,我仅找到有关使用临时文件的教程,但我考虑过使用ѭ0并直接将流写出。

解决方法

创建文档时,请使用ѭ1作为后备存储。然后正常创建并关闭文档,并将内存流的内容提供给客户端。
using(var stream = new MemoryStream())
{
    using(var doc = WordprocessingDocument.Create(stream,WordprocessingDocumentType.Document,true) 
    {
        ...
    }
    stream.Position = 0;
    stream.CopyTo(Response.OutputStream);
}
不要仅仅抓住ѭ3,因为,顾名思义,这只是文档包的一部分,而不是全部。 您还需要为内容类型和处置设置响应头。,.NET 4.0中的Stream.CopyTo()可能会对您有所帮助。
WordprocessingDocument.MainDocumentPart.GetStream().CopyTo(Response.OutputStream);
您仍然需要为MIME类型,内容处置等设置标头。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。