Finishes uploading a document to the cache.
endUpload = function(uri)
static endUpload(uri: string): JQueryPromise<any>;
uri
The temporary document URI. This must be the same value returned from beginUpload or beginUploadDocument and cannot be null.
A Promise object that may resolve successfully.
When uploading is finished, EndUpload must be called to inform the factory that the uploading process has finished.
Refer to Uploading Using the Document Library for detailed information on how to use these methods and the various options used.
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 documentconst 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 datalt.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 documentthis.uploadDocument(result.data);}).fail(DocumentHelper.showServiceError);}uploadDocument = (data: ArrayBuffer) => {// Start the dataconst 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 serviceuploadDocumentOptions.documentDataLength = data.byteLength;lt.Document.DocumentFactory.beginUploadDocument(uploadDocumentOptions).done((uploadUri) => {// Upload the datalt.Document.DocumentFactory.uploadDocument(uploadUri, data, 0, data.byteLength).done(() => {// Finish itlt.Document.DocumentFactory.endUpload(uploadUri).done(() => {// Load it and checkthis.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);elseconsole.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 documentconst 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 datalt.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 documentthis.uploadDocument(result.data);}).fail(DocumentHelper.showServiceError);}uploadDocument = (data) => {// Start the dataconst 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 serviceuploadDocumentOptions.documentDataLength = data.byteLength;lt.Document.DocumentFactory.beginUploadDocument(uploadDocumentOptions).done((uploadUri) => {// Upload the datalt.Document.DocumentFactory.uploadDocument(uploadUri, data, 0, data.byteLength).done(() => {// Finish itlt.Document.DocumentFactory.endUpload(uploadUri).done(() => {// Load it and checkthis.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);elseconsole.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>
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
