以下是我的案例:
我正在使用ABCPDF从我需要在网络上显示的.DOCX文件生成HTML文档。 从ABCPDF导出到HTML时,生成HTML和包含支持文件的文件夹(.css,.js,.png)
现在这些HTML文件可能包含非常敏感的数据,所以我在生成文件后立即将它们移动到受密码保护的.zip文件中(稍后我会从中获取)
问题是,如果我(由于某种原因)无法立即删除文件,这会使文件在硬盘上未加密几秒甚至更长时间。
我想了解另一种做法的建议。我已经看过一个ram驱动器,但我对在我的服务器上安装这些驱动程序感到不满意。 (并且仍可从操作系统访问RAM驱动器)
问题的原因可能是ABCPDF只能将HTML作为文件(因为它的多个文件)导出而不是作为流。
有什么想法吗?
我使用的是.NET 4.6.x和c#
答案 0 :(得分:2)
由于除.HTML之外的所有文件都是匿名的,因此您可以使用建议的方式将HTML写入流。只有所有其他文件都将存储到文件系统中。
http://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/save.htm
保存到Stream时,可以使用Doc.SaveOptions.FileExtension属性指示格式,例如" .htm"或" .xps"。对于HTML,您必须为Doc.SaveOptions.Folder属性提供合理的值。
http://www.websupergoo.com/helppdfnet/source/5-abcpdf/xsaveoptions/2-properties/folder.htm
此属性指定存储其他数据(如图像和字体)的文件夹。它仅在将文档导出为HTML时使用。否则会被忽略。
首先,尝试使用简单的MemoryStream来保存敏感数据。如果您获得大文件或高流量,请打开encrypted stream to a file on your system.