我试图获得一个blob作为URL,但在这一行中我得到了一个错误:
xhr.send()错误消息是angular.js:13920 Error: Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.
但是在代码中,我使用的是xhr.open('GET', blobValue),如下面的代码所示
if(someBlobValue){
var viewerElement = $document[0].getElementById('viewer');
var myWebViewer = new PDFTron.WebViewer({
path: 'lib',
pdftronServer: 'https://demo.pdftron.com' // remove
}, viewerElement);
var xhr = new XMLHttpRequest;
xhr.responseType = 'blob';
xhr.onload = function() {
var recoveredBlob = xhr.response;
var reader = new FileReader;
reader.readAsDataURL(recoveredBlob);
};
xhr.open('GET', someBlobValue);
xhr.setRequestHeader('Content-type', 'application/pdf');
xhr.send(); //error here although its open?
//var file = new File([newValue], 'somefile.pdf');
myWebViewer.loadDocument(xhr.response, { filename: 'somefile.pdf'});目前,我将文档作为blob,但我试图将其加载到pdftron库,不幸的是,我似乎没有在DOM中找到myWebViewer.getInstance().loadLocalFile方法(它的未定义)。
这是第一次尝试在angularjs应用程序中使用pdftron。
注意到:这是在指令中。
发布于 2018-09-04 17:40:15
您需要等待包含WebViewer的DOM元素触发就绪事件,以便定义从getInstance()返回的ReaderControl实例。
例如:
$(viewerElement).on('ready', function() {
myWebViewer.getInstance().loadLocalFile(someBlobValue);
});发布于 2018-09-07 20:02:47
在逻辑上,您的代码没有任何错误,
var xhr = new XMLHttpRequest;。var xhr = new XMLHttpRequest();来更正它。https://stackoverflow.com/questions/52122873
复制相似问题