有没有办法确定是否可以将文件作为system.io.packaging.package打开



如果我有filepath或流,除了尝试在文件/流上使用 Package.Open,我可以使用静态方法来确定文件/流是否为软件包并捕获System.IO.FileFormatException

您可以尝试以.zip文件打开文件,然后查找元数据(从而在验证包装格式的情况下实现一部分软件包规范),也可以只使用Open()并捕获任何潜在的例外。(.docx/.xlsx/等。格式只是遵循特定结构的zip文件。)

您可以尝试读取ZIP标头,但这只会验证该文件是zip文件 - 我不确定这会给您带来太多(如果有的话)。

我的猜测是,试图打开文件并捕获异常是最容易走的路线 - 如果规范更改了代码将继续工作。如果您自己滚动代码以验证文件格式,则必须继续维护。

相关内容

  • 没有找到相关文章

最新更新