【问题标题】:pdf.js downloading as document.pdf instead of filenamepdf.js 下载为 document.pdf 而不是文件名
【发布时间】:2017-11-03 14:32:47
【问题描述】:

我在我的应用程序中使用 pdf.js 库。 它集成得非常好,除了当我尝试下载文档时。每次我下载特定文件时,它都会被下载为 document.pdf

我有很多文件要下载,这造成了一些混乱。

我的代码如下:

<iframe src="pdf_viewer/web/viewer.html?file=/docs/resumes/1b763820-e262-4f76-8502-8872a3cb52e8&filename=sample.pdf"></iframe>

我的第一个参数是文件 id,第二个参数是下载文件的名称。

以下代码是 pdf 查看器 viewer.js 文件中的代码

function getPDFFileNameFromURL(url) {
  var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf';
  console.log(url);
  console.log(defaultFilename);

  if (isDataSchema(url)) {
    console.warn('getPDFFileNameFromURL: ' + 'ignoring "data:" URL for performance reasons.');
    return defaultFilename;
  }
  var reURI = /^(?:(?:[^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
  var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
  var splitURI = reURI.exec(url);
  var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);
  if (suggestedFilename) {
    suggestedFilename = suggestedFilename[0];
    if (suggestedFilename.indexOf('%') !== -1) {
      try {
        suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];
      } catch (ex) {}
    }
  }
  return suggestedFilename || defaultFilename;
}

根据我对代码的理解,我在输入方面所做的事情是正确的。我哪里出错了?

【问题讨论】:

    标签: javascript string pdf url pdf.js


    【解决方案1】:

    我想出了解决办法

    <iframe src="pdf_viewer/web/viewer.html?file=/docs/resumes/1b763820-e262-4f76-8502-8872a3cb52e8?sample.pdf"></iframe>
    

    这会在 url 中输入,现在我可以从 url 中提取文件名

    【讨论】:

      猜你喜欢
      • 2014-08-18
      • 2013-03-13
      • 2021-05-19
      • 2014-01-24
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 2017-11-05
      相关资源
      最近更新 更多