endUpload Method (original) (raw)

Summary

Finishes uploading a document to the cache.

Syntax

endUpload = function( _uri_ )

static endUpload( _uri_: string ): JQueryPromise<any>;

Parameters

Return Value

A Promise object that may resolve successfully.

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>