代码之家  ›  专栏  ›  技术社区  ›  Bakare Kazeem

如何使用node将图像转换为PDF。没有第三方Api的js

  •  0
  • Bakare Kazeem  · 技术社区  · 3 年前

    我正在尝试将图像文件转换为PDF文件。

    图像已正确上载到文件夹,但无法转换,错误如下:

    public\uploads\files-1649917893097.PNG 
    internal/validators.js:124
        throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
        ^
    
        at new NodeError (internal/errors.js:322:7)
        at validateString (internal/validators.js:124:11)
        at resolve (path.js:162:9)
        at ServerResponse.download (C:\Users\kc\Desktop\Converter\node_modules\express\lib\response.js:575:18)
        at C:\Users\kc\Desktop\Converter\index.js:625:8
        at ChildProcess.exithandler (child_process.js:374:7)
        at ChildProcess.emit (events.js:400:28)
        at maybeClose (internal/child_process.js:1058:16)
        at Process.ChildProcess._handle.onexit (internal/child_process.js:293:5) {
      code: 'ERR_INVALID_ARG_TYPE'
    }
    

    下面是相关的代码片段:

    var upload = multer({ storage: storage, fileFilter: imageFilter });
    
    
    app.post("/merge", upload.array("files", 1000), (req, res) => {
        
        list = "";
        if (req.files) {
          req.files.forEach((file) => {
            list += `${file.path}`;
            list += " ";
          });
    
          console.log(list);
      
          exec(`magick convert ${list} ${outputFilePath}`, (err, stdout, stderr) => {
                
            if (err) throw err;
            
                res.download(outputFilePath, (err) => {
                    
                if (err) throw err;
                
              req.files.forEach((file) => {
                  fs.unlinkSync(file.path);
                  
              });
      
              fs.unlinkSync(outputFilePath);
            });
          });
        }
    });
    
    0 回复  |  直到 3 年前