Html 如何在没有打印弹出窗口的情况下自动下载(node js)

Html 如何在没有打印弹出窗口的情况下自动下载(node js),html,css,node.js,pdf,Html,Css,Node.js,Pdf,我正在做一个项目,当页面打开时,pdf文件会自动下载,我设法使用了这个: window.addEventListener('load', () => { window.print(); }) 但我希望windows打开时,文件直接下载到我定义的目录,例如D:/myproject 有办法吗?我不使用pdf库,因为我自己用css制作pdf 谢谢窗口将无法通过服务器端代码访问 如果要在浏览器中下载文件,只需打开网页即可,您可以按如下方式使用: app.get('/

我正在做一个项目,当页面打开时,pdf文件会自动下载,我设法使用了这个:

 window.addEventListener('load', () => {
        window.print();


    })
但我希望windows打开时,文件直接下载到我定义的目录,例如D:/myproject

有办法吗?我不使用pdf库,因为我自己用css制作pdf


谢谢

窗口将无法通过服务器端代码访问

如果要在浏览器中下载文件,只需打开网页即可,您可以按如下方式使用:

app.get('/download', function(req, res){
  const file = `${__dirname}/upload-folder/file_name.pdf`;
  res.download(file); // Set disposition and send it.
});
由于您希望下载特定目录中的文件,因此可以使用


编辑:要将html代码转换为pdf,您可以使用npm模块

OP似乎想在客户端(也称为浏览器)
进行转换,因为我自己用css制作pdf
。另外,问题是关于设置目的地-
我设法使用了这个。。。该文件直接下载到我定义的目录
,因此我的问题是,我想禁用弹出打印,并使其直接下载到目录is下载文件模块中,请求下载弹出窗口?我想下载,但我的pdf文件仍然是html,如何使其成为pdf?如何知道用户是否拥有您定义的目录?也许他们根本没有
D://
?无论如何,您无法控制文件将保存在何处:这是否回答了您的问题?所以我的问题是,我想禁用弹出式打印,让它直接下载到directory@rash你不能。浏览器决定是将文件直接下载到用户指定的目录,还是询问用户。否则,这将是一个安全漏洞。想象一下,任何一个网站都会不请自来地将文件上传到您的机器上。据我所知,您正在使用浏览器打印选项将页面转换为PDF格式。如果你想跳过打印步骤,你必须自己生成PDF。您可以使用jsPDF之类的工具来实现这一点。()
var download = require('download-file')

app.get('/download', function(req, res){
   var url = ${__dirname} + "/upload-folder/file_name.pdf";
   var options = {
    directory: "path of directory/",
    filename: "file_name.pdf"
   }

   download(url, options, function(err){
     if (err) throw err

     res.send("Done"); // Set disposition and send it.
   }) 

});