文件 Select/File API - 将文件发送到嵌入式 PDFObject

File Select/File API - Sending files to Embedded PDFObject

所以我正在尝试使用文件 select(或文件 API)从桌面到 select 文件并将其发送到我的 [=18= 中的嵌入式 PDF 查看器] 医生。我已经尝试了很多不同的方法,以我有限的知识将文件从 file-api 推送到 PDFObject,但似乎没有任何效果。我不确定它是否无法做到这一点,或者我是否只是在许多不同的方面做错了。

    <head>
    <link href="http://pdfobject.com/css/examples.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://pdfobject.com/scripts/pdfobject.js"></script>
    <script type="text/javascript">
        window.onload = function (){
            var myPDF = new PDFObject(handleFileSelect).embed(); 
// ORIGINALLY var myPDF = new PDFObject({ URL: "location" }).embed();
        };
    </script>
</head>
<body>
    <div id="pdf">It appears you don't have Adobe Reader or PDF support in this web browser. <a href="/pdf/sample.pdf">Click here to download the PDF</a></div>
    <input type="file" id="files" name="files[]" multiple />
    <output id="list"></output>

    <script>
      function handleFileSelect(evt) {
        var files = evt.target.files; // FileList object

        // files is a FileList of File objects. List some properties.
        var output = [];
        for (var i = 0, f; f = files[i]; i++) {
          output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
                      f.size, ' bytes, last modified: ',
                      f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
                      '</li>');
        }
        document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
      }

      document.getElementById('files').addEventListener('change', handleFileSelect, false);
    </script>

我可以使用文件 select/file api 到 select 并将文档推送到 PDFObject 查看器,还是它不允许这种连接?

只需创建文件 url 即可检索文件:

url=window.URL.createObjectURL(inputFile);

然后通过给 PDFObject 这个 url:

嵌入文件
PDFObject.embed(url, "#fileContainer");