我想使用表单下载 pdf 文件,然后提取第一页并转换为 jpeg(使用 PDFImage),然后将原始 pdf 和 jpeg 上传到我的 s3 存储桶。各个步骤的代码很好,但在使用 multers3 上传之前我无法弄清楚如何进行 jpeg 转换。代码如下:
形式
<form action="/pdfCreate/<%= paper.id %>?_method=PUT" method="POST" enctype="multipart/form-data">
<div class="uploadForm">
<label for="pdfUpload">Select file to upload</label>
<input type="file" id="pdfUpload" class="uploadfile" name="file" id="file-Upload" placeholder="Upload pdf file">
</div>
<div class="uploadForm">
<button type="submit" value="Upload PDF">Upload Paper Info</button>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
路线
router.put("/pdfCreate/:id", upload.single("file"), (req,res) => {
const pdfFile = req.file;
const pdfPath = req.file.location;
PDFfile.updateOne ({_id:req.params.id}, {pdfPath:pdfPath}, function(err,file){
if(err){
console.log("Error");
} else {
// req.flash("success", "PDF successfully uploaded");
res.render("displayPage", {path: pdfPath}); …Run Code Online (Sandbox Code Playgroud) 我使用create-react应用程序构建了一个react应用程序,该应用程序使用react-pdf显示pdf。当我输入引用磁盘上文件的文件名时,此方法工作正常,但在输入 url 时收到“无法加载 PDF”错误。我尝试了多个网址,但都失败了。在控制台中,我还收到以下警告,该警告来自一些谷歌搜索,似乎指的是 webpack 不兼容,尽管无论我尝试显示的文件类型如何,我都会收到它:
./node_modules/pdfjs-dist/build/pdf.js 关键依赖:require函数的使用方式无法静态提取依赖
我使用以下版本:react-pdf (4.1.10)、reacts-scripts (3.0.1) webpack (4.29.6)、react (16.12.0)。
我还按照建议在代码顶部进行了以下导入等操作:
import React, { Component } from 'react';
import { Document, Page, pdfjs } from 'react-pdf';
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;
Run Code Online (Sandbox Code Playgroud)
似乎其他人也遇到过这个问题,但很难找到解决方案。我尝试显示的文件示例是: file="https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
任何帮助表示赞赏!