TempFolder

SaveOptions.TempFolder property

Указывает папку для временных файлов, используемых при сохранении в файл DOC или DOCX. По умолчанию это свойствонулевой и временные файлы не используются.

public string TempFolder { get; set; }

Исключения

исключениеусловие
OutOfMemoryExceptionВызывается, если вы сохраняете очень большой документ (тысячи страниц) и/или обрабатываете много документов одновременно. Скачок памяти во время сохранения может быть достаточно значительным, чтобы вызвать исключение.

Примечания

Когда Aspose.Words сохраняет документ, ему необходимо создать временные внутренние структуры. По умолчанию, эти внутренние структуры создаются в памяти, и использование памяти резко возрастает на короткий период, пока документ сохраняется. После завершения сохранения память освобождается и утилизируется сборщиком мусора.

Указание временной папки с помощьюTempFolder заставит Aspose.Words сохранять внутренние структуры во временных файлах x000d_ вместо памяти. Это уменьшает использование памяти во время сохранения, но снижает производительность сохранения.

Папка должна существовать и быть доступна для записи, в противном случае будет выдано исключение.

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);

Смотрите также