mimeType Property

Summary

MIME type of the document being uploaded.

Syntax
TypeScript
JavaScript
Object.defineProperty(UploadDocumentOptions.prototype, 'mimeType', 
   get: function(), 
   set: function(value) 
) 
mimeType: string; 

Property Value

The MIME type of the document being uploaded, if known. The default value is null.

Remarks

This value is optional and setting it depends on the application's requirements.

It is best to provide the value of mimeType while uploading the document. This will ensure that MIME type whitelisting is performed prior to reading any document data. If MIME type whitelisting is used, it is possible for the DocumentFactory load methods to return null as the resulting document if its MIME type was denied. For more information, refer to DocumentMimeTypes.

This value is just a hint for the factory when it first tries to load the document. If the value of mimeType is null or a wrong value, then it will be overridden by the factory and the real mime type obtained from the document data as set in LEADDocument.mimeType.

Note that the original value set in mimeType is returned by DocumentFactory.checkCacheInfo if called prior to the factory loading the document.

Example
UploadDocument.ts
DocumentHelper.ts
UploadDocument.js
DocumentHelper.js
UploadDocument.html
import { DocumentHelper } from "../../utilities/DocumentHelper"; 
 
export class DocumentFactory_UploadDocumentExample { 
    public constructor() { 
        lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null); 
        DocumentHelper.initFactory(); 
    } 
 
    public run = (buttonID: string) => { 
        document.getElementById(buttonID).onclick = this.onClick; 
    } 
 
    onClick = () => { 
        //Load the initial document 
        const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
        this.loadDocument(url, true); 
    } 
 
    loadDocument = (url: string, downloadAfterLoad: boolean) => { 
        DocumentHelper.log("Loading document " + url); 
        lt.Document.DocumentFactory.loadFromUri(url, new lt.Document.LoadDocumentOptions()) 
            .done((doc) => { 
                DocumentHelper.log("Document loaded and has cache id: " + doc.documentId); 
                if (downloadAfterLoad) { 
                    this.afterLoadDocument(doc); 
                } 
            }) 
            .fail(DocumentHelper.showServiceError); 
    } 
 
    afterLoadDocument = (doc: lt.Document.LEADDocument) => { 
        // Download its data 
        lt.Document.DocumentFactory.downloadDocumentData(doc.documentId, null, false) 
            .done((result) => { 
                DocumentHelper.log("Finished downloading, mime type: " + result.mimeType + " data length: " + result.data.byteLength); 
                // Upload the data to a different document 
                this.uploadDocument(result.data); 
            }) 
            .fail(DocumentHelper.showServiceError); 
    } 
 
    uploadDocument = (data: ArrayBuffer) => { 
        // Start the data 
        const uploadDocumentOptions = new lt.Document.UploadDocumentOptions(); 
        // If we have the total size of the document set it. 
        // This will help optimize the upload process on the service 
        uploadDocumentOptions.documentDataLength = data.byteLength; 
        lt.Document.DocumentFactory.beginUploadDocument(uploadDocumentOptions) 
            .done((uploadUri) => { 
                // Upload the data 
                lt.Document.DocumentFactory.uploadDocument(uploadUri, data, 0, data.byteLength) 
                    .done(() => { 
                        // Finish it 
                        lt.Document.DocumentFactory.endUpload(uploadUri) 
                            .done(() => { 
                                // Load it and check 
                                this.loadDocument(uploadUri, false); 
                            }) 
                            .fail(DocumentHelper.showServiceError); 
 
                    }) 
                    .fail(DocumentHelper.showServiceError); 
            }) 
            .fail(DocumentHelper.showServiceError); 
    } 
} 
export class DocumentHelper { 
   static showServiceError = (jqXHR, statusText, errorThrown) => { 
      alert("Error returned from service. See the console for details."); 
      const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
      console.error(serviceError); 
   } 
 
   static log = (message: string, data?: any) => { 
      const outputElement = document.getElementById("output"); 
      if (outputElement) { 
         const time = (new Date()).toLocaleTimeString(); 
         const textElement = document.createElement("p"); 
         textElement.innerHTML = (outputElement.childElementCount + 1) + " [" + time + "]: " + message; 
         outputElement.insertBefore(textElement, outputElement.firstChild); 
      } 
 
      if (!data) 
         console.log(message); 
      else 
         console.log(message, data); 
   } 
 
   static initFactory = () => { 
      // To communicate with the DocumentsService, it must be running! 
      // Change these parameters to match the path to the service. 
      lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
      lt.Document.DocumentFactory.servicePath = ""; 
      lt.Document.DocumentFactory.serviceApiPath = "api"; 
   } 
} 
import { DocumentHelper } from "../../utilities/DocumentHelper"; 
 
export class DocumentFactory_UploadDocumentExample { 
    constructor() { 
        lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null); 
        DocumentHelper.initFactory(); 
    } 
 
    run = (buttonID) => { 
        document.getElementById(buttonID).onclick = this.onClick; 
    } 
 
    onClick = () => { 
        //Load the initial document 
        const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
        this.loadDocument(url, true); 
    } 
 
    loadDocument = (url, downloadAfterLoad) => { 
        DocumentHelper.log("Loading document " + url); 
        lt.Document.DocumentFactory.loadFromUri(url, new lt.Document.LoadDocumentOptions()) 
            .done((doc) => { 
                DocumentHelper.log("Document loaded and has cache id: " + doc.documentId); 
                if (downloadAfterLoad) { 
                    this.afterLoadDocument(doc); 
                } 
            }) 
            .fail(DocumentHelper.showServiceError); 
    } 
 
    afterLoadDocument = (doc) => { 
        // Download its data 
        lt.Document.DocumentFactory.downloadDocumentData(doc.documentId, null, false) 
            .done((result) => { 
                DocumentHelper.log("Finished downloading, mime type: " + result.mimeType + " data length: " + result.data.byteLength); 
                // Upload the data to a different document 
                this.uploadDocument(result.data); 
            }) 
            .fail(DocumentHelper.showServiceError); 
    } 
 
    uploadDocument = (data) => { 
        // Start the data 
        const uploadDocumentOptions = new lt.Document.UploadDocumentOptions(); 
        // If we have the total size of the document set it. 
        // This will help optimize the upload process on the service 
        uploadDocumentOptions.documentDataLength = data.byteLength; 
        lt.Document.DocumentFactory.beginUploadDocument(uploadDocumentOptions) 
            .done((uploadUri) => { 
                // Upload the data 
                lt.Document.DocumentFactory.uploadDocument(uploadUri, data, 0, data.byteLength) 
                    .done(() => { 
                        // Finish it 
                        lt.Document.DocumentFactory.endUpload(uploadUri) 
                            .done(() => { 
                                // Load it and check 
                                this.loadDocument(uploadUri, false); 
                            }) 
                            .fail(DocumentHelper.showServiceError); 
 
                    }) 
                    .fail(DocumentHelper.showServiceError); 
            }) 
            .fail(DocumentHelper.showServiceError); 
    } 
} 
export class DocumentHelper { 
   static showServiceError = (jqXHR, statusText, errorThrown) => { 
      alert("Error returned from service. See the console for details."); 
      const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
      console.error(serviceError); 
   } 
 
   static log = (message, data) => { 
      const outputElement = document.getElementById("output"); 
      if (outputElement) { 
         const time = (new Date()).toLocaleTimeString(); 
         const textElement = document.createElement("p"); 
         textElement.innerHTML = (outputElement.childElementCount + 1) + " [" + time + "]: " + message; 
         outputElement.insertBefore(textElement, outputElement.firstChild); 
      } 
 
      if (!data) 
         console.log(message); 
      else 
         console.log(message, data); 
   } 
 
   static initFactory = () => { 
      // To communicate with the DocumentsService, it must be running! 
      // Change these parameters to match the path to the service. 
      lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
      lt.Document.DocumentFactory.servicePath = ""; 
      lt.Document.DocumentFactory.serviceApiPath = "api"; 
   } 
} 
<!doctype html> 
<html lang="en"> 
<title>Document Example | UploadDocument</title> 
 
<head> 
   <script src="https://code.jquery.com/jquery-2.2.4.min.js" 
      integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 
 
   <script src="../../LT/Leadtools.js"></script> 
   <script src="../../LT/Leadtools.Controls.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Engine.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Designers.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Rendering.Javascript.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Automation.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Main.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Color.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Core.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Effects.js"></script> 
   <script src="../../LT/Leadtools.Document.js"></script> 
   <script src="../../LT/Leadtools.Document.Viewer.js"></script> 
   <link rel="stylesheet" type="text/css" href="../../css/examples.css"> 
 
   <!-- All demo files are bundled and appended to the window --> 
   <script src="../../bundle.js" type="text/javascript"></script> 
</head> 
 
<body> 
   <div> 
      <button type="button" id="exampleButton">Run Example</button> 
   </div> 
   <div id="output"></div> 
   <div> 
      <img id="img" /> 
   </div> 
</body> 
 
<script> 
   window.onload = () => { 
      const example = new window.examples.DocumentFactory.UploadDocument(); 
      example.run("exampleButton"); 
   }; 
</script> 
</html> 
Requirements

Target Platforms

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

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