TempFolder

SaveOptions.TempFolder property

指定保存为 DOC 或 DOCX 文件时使用的临时文件的文件夹。 默认情况下,此属性为无效的并且不使用临时文件。

public string TempFolder { get; set; }

例外

例外(健康)状况
OutOfMemoryException如果您正在保存非常大的文档(数千页)和/或同时处理许多文档,则会抛出该异常。 保存期间的内存峰值可能足够大,从而导致异常。

评论

Aspose.Words 保存文档时,需要创建临时的内部结构。默认情况下,这些内部结构会在内存中创建,并且在保存文档时,内存使用量会在短时间内达到峰值。保存完成后,内存将被释放并由垃圾回收器回收。

使用指定临时文件夹TempFolder这将导致 Aspose.Words 将内部结构保存在临时文件中,而不是内存中。这可以减少保存期间的内存使用量,但会降低保存性能。

该文件夹必须存在且可写,否则将引发异常。

保存完成后,Aspose.Words 会自动删除所有临时文件。

例子

展示如何在保存文档时使用硬盘而不是内存。

Document doc = new Document(MyDir + "Rendering.docx");

// 当我们保存文档时,各种元素会在保存操作进行时暂时存储在内存中。
// 我们可以使用此选项来使用本地文件系统中的临时文件夹,
//这将减少我们应用程序的内存开销。
DocSaveOptions options = new DocSaveOptions();
options.TempFolder = ArtifactsDir + "TempFiles";

// 保存操作之前,指定的临时文件夹必须存在于本地文件系统中。
Directory.CreateDirectory(options.TempFolder);

doc.Save(ArtifactsDir + "DocSaveOptions.TempFolder.doc", options);

// 该文件夹将保留,不会留下加载操作留下的任何内容。
Assert.AreEqual(0, Directory.GetFiles(options.TempFolder).Length);

也可以看看