文件和流类似,是的。两者基本上都是一个byte
阵列......一个来自内存,一个来自硬盘。如果您使用的API允许您生成流,那么您可以轻松地完成该操作,并使用Response
对象将其提供给用户。
以下代码需要一个PowerPoint内存对象(您需要为自己的API修改它,但您可以获得一般想法),将其保存到MemoryStream
,然后设置正确的标题并写入流到Response(那么这将让用户将文件保存到本地计算机上):
SaveFormat format = SaveFormat.PowerPoint2007;
Slideshow show = PowerPointWriter.Generate(report, format);
MemoryStream ms = new MemoryStream();
show.Save(ms, format);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-powerpoint";
Response.AddHeader("Content-Disposition", "attachment; filename=\"Slideshow.ppt\"");
Response.BinaryWrite(ms.ToArray());
Response.End();
你用什么API来创建PowerPoint演示文稿? – user957902
我正在使用DocumentFormat.OpenXML库中的类。 –