←Select platform

CachePolicy Property

Summary

The cache policy to use with the new document.

Syntax
C#
C++/CLI
Java
Python
public CacheItemPolicy CachePolicy { get; set; } 
public:  
   property CacheItemPolicy^ CachePolicy 
   { 
      CacheItemPolicy^ get() 
      void set(CacheItemPolicy^ value) 
   } 
public CacheItemPolicy getCachePolicy() 
public void setCachePolicy(CacheItemPolicy value) 
CachePolicy # get and set (UploadDocumentOptions) 

Property Value

The cache policy to use for the new document that determines when the document and its parts are purged. Default value is a default CacheItemPolicy that never expires.

Remarks

The policy must contain the desired absolute or sliding expiration date for the document and its part.

Using a cache policy does not mean the document will be stored in the cache forever, refer to AutoSaveToCache for more information on how the cache policy is used.

For more information on uploading documents, refer to Uploading Using the Document Library.

Example
C#
Java
using Leadtools; 
using Leadtools.Caching; 
using Leadtools.Document; 
 
 
public void DocumentFactoryBeginUploadExample() 
{ 
   var cache = GetCache(); 
 
   // Upload the document in 32K chunks 
   const int bufferSize = 1024 * 32; 
   var buffer = new byte[bufferSize]; 
 
   var fileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"); 
   Uri uploadUri = null; 
   using (var reader = File.OpenRead(fileName)) 
   { 
      // Start uploading 
      var uploadOptions = new UploadDocumentOptions(); 
      uploadOptions.Cache = cache; 
      // Optional: set the mime type of the document we are uploading. 
      // If this value is not provided or is wrong then it will be overridden by the factory when LoadFromUri is called. 
      uploadOptions.MimeType = "application/pdf"; 
      // Optional: set the name of the document, the same name as the file. 
      // This value is only important as a hint when the document file data does not contain a valid signature, such as TXT or XML files 
      uploadOptions.Name = "Leadtools.pdf"; 
      uploadOptions.CachePolicy = new CacheItemPolicy(); 
      uploadOptions.DocumentId = null; 
      uploadOptions.PageCount = 0; 
      uploadUri = DocumentFactory.BeginUpload(uploadOptions); 
 
      int bytes; 
      do 
      { 
         bytes = reader.Read(buffer, 0, bufferSize); 
         if (bytes > 0) 
         { 
            // Upload a chunk 
            DocumentFactory.UploadDocument(cache, uploadUri, buffer, 0, bytes); 
 
            // Upload annotations 
            DocumentFactory.UploadAnnotations(cache, uploadUri, buffer, 0, bytes); 
         } 
      } 
      while (bytes > 0); 
   } 
 
   // We are done, this method is optional, we can call LoadFromUri right now 
   DocumentFactory.EndUpload(cache, uploadUri); 
   DocumentFactory.AbortUploadDocument(uploadUri); 
 
   // Now load the document 
   var options = new LoadDocumentOptions(); 
   options.Cache = cache; 
   using (var document = DocumentFactory.LoadFromUri(uploadUri, options)) 
   { 
      PrintOutDocumentInfo(document); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.io.InputStream; 
import java.net.URI; 
import java.net.URISyntaxException; 
import java.util.Calendar; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.caching.*; 
import leadtools.document.*; 
 
 
public void documentFactoryBeginUploadExample() throws IOException { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   FileCache cache = getCache(); 
 
   // Upload the document in 32K chunks 
   final int bufferSize = 1024 * 32; 
   byte[] buffer = new byte[bufferSize]; 
   String fileName = combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf"); 
   URI uploadUri = null; 
   InputStream inputStream = new FileInputStream(fileName); 
   LeadStream reader = new LeadStream(inputStream, false); 
 
   // Start uploading 
   UploadDocumentOptions uploadOptions = new UploadDocumentOptions(); 
   uploadOptions.setCache(cache); 
   // Optional: set the mime type of the document we are uploading. 
   // If this value is not provided or is wrong then it will be overridden by the 
   // factory when LoadFromUri is called. 
   uploadOptions.setMimeType("application/pdf"); 
   // Optional: set the name of the document, the same name as the file. 
   // This value is only important as a hint when the document file data does not 
   // contain a valid signature, such as TXT or XML files 
   uploadOptions.setName("Leadtools.pdf"); 
   uploadOptions.setCachePolicy(new CacheItemPolicy()); 
   uploadOptions.setDocumentId(null); 
   uploadOptions.setPageCount(0); 
   uploadUri = DocumentFactory.beginUpload(uploadOptions); 
 
   int bytes; 
   do { 
      bytes = reader.read(buffer, bufferSize); 
      if (bytes > 0) { 
         // Upload a chunk 
         DocumentFactory.uploadDocument(cache, uploadUri, buffer, 0, bytes); 
 
         // Upload annotations 
         DocumentFactory.uploadAnnotations(cache, uploadUri, buffer, 0, bytes); 
      } 
   } while (bytes > 0); 
   reader.dispose(); 
   reader.close(); 
   inputStream.close(); 
 
   // We are done, this method is optional, we can call LoadFromUri right now 
   DocumentFactory.endUpload(cache, uploadUri); 
   DocumentFactory.abortUploadDocument(uploadUri); 
 
   // Now load the document 
   LoadDocumentOptions options = new LoadDocumentOptions(); 
   options.setCache(cache); 
   LEADDocument document = DocumentFactory.loadFromUri(uploadUri, options); 
   printOutDocumentInfo(document); 
   assertTrue(document != null); 
   System.out.println("Document created successfully"); 
   document.dispose(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.