使用AWS S3存储中的Interop Library直接加载PPTX文件

时间:2015-01-28 14:22:59

标签: c# amazon-s3 office-interop

我的要求是直接从AWS s3存储加载PPTX文件。  我使用INTEROP来操作Powerpoint文件。因此,我可以直接从S3加载文件,而不是将文件从S3下载到服务器上的指定位置。

这是我目前加载PPTX文件的代码。

var pptPresentation = pptApplication.Presentations.Open(filePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse); 

任何建议都会有所帮助。 感谢

1 个答案:

答案 0 :(得分:0)

您必须在本地下载该文件。

注意,Considerations for server-side Automation of Office文章声明如下:

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office在此环境中运行Office时,可能会出现不稳定的行为和/或死锁。

如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。

您可以考虑使用Open XML SDK来操作打开的xml文件。有关示例代码,请参阅Presentations (Open XML SDK)