在这个话题▼< / div >< div id ="inThisTopicDialog" class="hide">

uploadDocumentBlob方法

总结< / div >

上传数据的JavaScript/文件缓存。

语法< / div >< div id ="mainSourceContainerSyntax">
打印稿< / div >
JavaScript< / div >< / div >
uploadDocumentBlob =函数(uri,)
静态uploadDocumentBlob (uri:字符串,:团):JQueryPromise <任何>;

参数

uri

URI来上传,来自的结果beginUploadbeginUploadDocument

JavaScript/文件对象包含的数据上传。

返回值

一个无效承诺可能成功解决的对象。

讲话< / div >

使用UploadDocument上传原始JavaScript中包含的数据缓冲区。

beginUploadbeginUploadDocument解决了并返回一个URI,该方法可用于上传文档的块。

BeginUploadDocument,BeginUpload,UploadDocumentBlob,AbortUploadDocument一起使用相同的功能吗还是/uploadfiledocument上传过程,但提供了更多的控制。这种方法通常被称为循环中上传大量的数据缓存,直到整个文档已经上传。UploadDocumentBlob让开发人员控制何时以及如何上传块。

UploadDocumentBlob不应该被称为连续多次没有等待每个调用的承诺需要解决。继续一个未解决的“承诺”会导致上传一个腐败LEADDocument

这种方法是否收到一个DocumentUploadProgress对象进步回调的承诺。

当上传完成后,EndUpload必须打电话通知工厂上传过程已经完成。

不像还是/uploadfiledocument,承诺这个方法没有返回的对象中止方法。相反,AbortUploadDocument必须上传相同的URI调用用于上传文档。这并不一定会导致承诺立即对象从这个方法失败,但继续调用UploadDocumentBlob会的。

注意,浏览器必须支持FileReader API为了操作在客户端文件系统数据。如果FileReader API不支持,就会抛出一个错误IsBrowserError将返回真正的

使用文档库LEADTOOLS上传有关如何使用此方法的更多信息。

例子< / div >

这个例子将下载、上传和加载一个文件从服务表明,它给出了一个新的缓存条目。

UploadDocumentBlob.ts< / div >
DocumentHelper.ts< / div >
UploadDocumentBlob.js< / div >
DocumentHelper.js< / div >
UploadDocumentBlob.html< / div >< / div >< div id ="GenericContainerEntry5519" class="GenericContainerEntry">
进口{DocumentHelper}从“. . / . . /工具/ DocumentHelper”;出口DocumentFactory_UploadDocumentBlobExample {公共构造函数(){lt.RasterSupport.setLicenseUri (“https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt”,“EVAL”,);DocumentHelper.initFactory ();}公共运行= (buttonID:字符串)= > {. getelementbyid (buttonID)。onclick =.onClick;}onClick = () = > {/ /加载初始文档常量url =“https://demo.leadtools.com/images/pdf/leadtools.pdf”;.loadDocument (url,真正的);}loadDocument =(网址:字符串downloadAfterLoad:布尔)= > {DocumentHelper.log (“加载文件”+ url);lt.Document.DocumentFactory.loadFromUri (url,lt.Document.LoadDocumentOptions ()).done ((doc) = > {DocumentHelper.log (“文档加载和缓存id:”+ doc.documentId);如果(downloadAfterLoad) {.afterLoadDocument (doc);}})fail (DocumentHelper.showServiceError);}afterLoadDocument =(医生:lt.Document.LEADDocument) = > {/ /下载数据lt.Document.DocumentFactory.downloadDocumentData (doc.documentId,).done((结果)= > {DocumentHelper.log (“完成下载,mime类型:“+的结果。mimeType +数据长度:“+ result.data.byteLength);/ /上传数据到另一个文档/ /创建一个blob从这个文档常量数据= result.data;常量blob =Blob ([Uint8Array(数据、0 data.byteLength)]);.uploadDocument (blob);})fail (DocumentHelper.showServiceError);}uploadDocument = (blob: blob) = > {/ /启动数据常量uploadDocumentOptions =lt.Document.UploadDocumentOptions ();/ /如果有文档的总大小设置。/ /这将有助于优化上传过程的服务uploadDocumentOptions。documentDataLength = blob.size;lt.Document.DocumentFactory.beginUploadDocument (uploadDocumentOptions).done ((uploadUri) = > {/ /上传数据lt.Document.DocumentFactory。uploadDocumentBlob (uploadUri, blob).done (() = > {/ /完成它lt.Document.DocumentFactory.endUpload (uploadUri).done (() = > {/ /加载它并检查.loadDocument (uploadUri);})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);}}
出口DocumentHelper {静态showServiceError = (jqXHR statusText errorThrown) = > {alert (“从服务返回错误。有关详细信息,请参阅控制台”。);常量serviceError = lt.Document.ServiceError。parseError (jqXHR statusText errorThrown);console.error (serviceError);}静态日志=(信息:字符串、数据吗?任何)= > {常量outputElement = . getelementbyid (“输出”);如果(outputElement) {常量时间= (日期()).toLocaleTimeString ();常量textElement = document.createElement (“p”);textElement。innerHTML = (outputElement。childElementCount + 1) +“(”+时间+“:”+消息;outputElement。方法(textElement outputElement.firstChild);}如果数据(!)console.log(消息);其他的控制台。日志(消息、数据);}静态initFactory = () = > {/ /与DocumentsService通信,它必须运行!/ /更改这些参数匹配服务的路径。lt.Document.DocumentFactory。serviceHost =“http://localhost: 40000”;lt.Document.DocumentFactory。servicePath =”“;lt.Document.DocumentFactory。serviceApiPath =“api”;}}
进口{DocumentHelper}从“. . / . . /工具/ DocumentHelper”;出口DocumentFactory_UploadDocumentBlobExample {构造函数(){lt.RasterSupport.setLicenseUri (“https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt”,“EVAL”,);DocumentHelper.initFactory ();}运行= (buttonID) = > {. getelementbyid (buttonID)。onclick =.onClick;}onClick = () = > {/ /加载初始文档常量url =“https://demo.leadtools.com/images/pdf/leadtools.pdf”;.loadDocument (url,真正的);}loadDocument = (url, downloadAfterLoad) = > {DocumentHelper.log (“加载文件”+ url);lt.Document.DocumentFactory.loadFromUri (url,lt.Document.LoadDocumentOptions ()).done ((doc) = > {DocumentHelper.log (“文档加载和缓存id:”+ doc.documentId);如果(downloadAfterLoad) {.afterLoadDocument (doc);}})fail (DocumentHelper.showServiceError);}afterLoadDocument = (doc) = > {/ /下载数据lt.Document.DocumentFactory.downloadDocumentData (doc.documentId,).done((结果)= > {DocumentHelper.log (“完成下载,mime类型:“+的结果。mimeType +数据长度:“+ result.data.byteLength);/ /上传数据到另一个文档/ /创建一个blob从这个文档常量数据= result.data;常量blob =Blob ([Uint8Array(数据、0 data.byteLength)]);.uploadDocument (blob);})fail (DocumentHelper.showServiceError);}uploadDocument = (blob) = > {/ /启动数据常量uploadDocumentOptions =lt.Document.UploadDocumentOptions ();/ /如果有文档的总大小设置。/ /这将有助于优化上传过程的服务uploadDocumentOptions。documentDataLength = blob.size;lt.Document.DocumentFactory.beginUploadDocument (uploadDocumentOptions).done ((uploadUri) = > {/ /上传数据lt.Document.DocumentFactory。uploadDocumentBlob (uploadUri, blob).done (() = > {/ /完成它lt.Document.DocumentFactory.endUpload (uploadUri).done (() = > {/ /加载它并检查.loadDocument (uploadUri);})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);}}
出口DocumentHelper {静态showServiceError = (jqXHR statusText errorThrown) = > {alert (“从服务返回错误。有关详细信息,请参阅控制台”。);常量serviceError = lt.Document.ServiceError。parseError (jqXHR statusText errorThrown);console.error (serviceError);}静态日志=(消息、数据)= > {常量outputElement = . getelementbyid (“输出”);如果(outputElement) {常量时间= (日期()).toLocaleTimeString ();常量textElement = document.createElement (“p”);textElement。innerHTML = (outputElement。childElementCount + 1) +“(”+时间+“:”+消息;outputElement。方法(textElement outputElement.firstChild);}如果数据(!)console.log(消息);其他的控制台。日志(消息、数据);}静态initFactory = () = > {/ /与DocumentsService通信,它必须运行!/ /更改这些参数匹配服务的路径。lt.Document.DocumentFactory。serviceHost =“http://localhost: 40000”;lt.Document.DocumentFactory。servicePath =”“;lt.Document.DocumentFactory。serviceApiPath =“api”;}}
< !doctype html >< html lang =“en”><标题>文档例子| UploadDocumentBlob < /名称><头>< script src =“https://code.jquery.com/jquery-2.2.4.min.js”诚信=“sha256-BbhdlvQf / xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44 = "crossorigin =“匿名”> < /脚本>< script src =“. . / . . / LT / Leadtools.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Controls.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Engine.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Designers.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Rendering.Javascript.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Automation.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Main.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Color.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Core.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Effects.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Document.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Document.Viewer.js”> < /脚本>< link rel =“样式表”类型=“文本/ css”href =“. . / . . / css / examples.css”>< !——所有演示文件捆绑和附加到窗口- - >< script src =“. . / . . / bundle.js”类型=“text / javascript”> < /脚本>< / >头<身体>< div ><按钮类型=“按钮”id =“exampleButton”> > < /按钮运行例子< / div >< div id =“输出”> < / div >< div >< img id =“img”/ >< / div >< /身体><脚本>窗口。onload = () = > {常量示例=window.examples.DocumentFactory.UploadDocumentBlob ();example.run (“exampleButton”);};> < /脚本< / html >
需求< / div >目标平台
帮助21.0.2021.7.2版本< / div >< !--BEGIN Copyright notice--> 188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。< !--END Copyright notice-->
Leadtools。文档一个ssembly< / div >