Ensure that PDFAttachmentViewer._bindLink assigns the correct contentType when downloading PDF attachments
				
					
				
			This should provide better filetype detection when downloading PDF attachments in the viewer. Also, to avoid creating the "is PDF file" regular expression more than once it's extracted into a global constant instead.
This commit is contained in:
		
							parent
							
								
									de932573dd
								
							
						
					
					
						commit
						a23079c2dd
					
				@ -17,6 +17,8 @@ import { createPromiseCapability, getFilenameFromUrl } from "pdfjs-lib";
 | 
			
		||||
import { BaseTreeViewer } from "./base_tree_viewer.js";
 | 
			
		||||
import { viewerCompatibilityParams } from "./viewer_compatibility.js";
 | 
			
		||||
 | 
			
		||||
const PdfFileRegExp = /\.pdf$/i;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @typedef {Object} PDFAttachmentViewerOptions
 | 
			
		||||
 * @property {HTMLDivElement} container - The viewer element.
 | 
			
		||||
@ -136,7 +138,8 @@ class PDFAttachmentViewer extends BaseTreeViewer {
 | 
			
		||||
   */
 | 
			
		||||
  _bindLink(element, { content, filename }) {
 | 
			
		||||
    element.onclick = () => {
 | 
			
		||||
      this.downloadManager.downloadData(content, filename, "");
 | 
			
		||||
      const contentType = PdfFileRegExp.test(filename) ? "application/pdf" : "";
 | 
			
		||||
      this.downloadManager.downloadData(content, filename, contentType);
 | 
			
		||||
      return false;
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
@ -169,7 +172,7 @@ class PDFAttachmentViewer extends BaseTreeViewer {
 | 
			
		||||
 | 
			
		||||
      const element = document.createElement("a");
 | 
			
		||||
      if (
 | 
			
		||||
        /\.pdf$/i.test(filename) &&
 | 
			
		||||
        PdfFileRegExp.test(filename) &&
 | 
			
		||||
        !viewerCompatibilityParams.disableCreateObjectURL
 | 
			
		||||
      ) {
 | 
			
		||||
        this._bindPdfLink(element, { content: item.content, filename });
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user