我正在使用headFULLchrome和puppeteer下载pdf文件。我在浏览器上下文中调用了javascript函数,然后开始下载。文件名来自服务器。问题:我下载到目录中的许多文件都是来自服务器和Chrome的同名文件,而不是自动在文件后缀上添加索引(1),而覆盖现有文件。
由于该文件是通过调用JS函数下载的,并且我也已经检查了该函数,因此我无权访问pdf网址。它是使用函数调用触发的,因此我无法控制文件名。 我有一个文件名列表,但是如果计算机上已经存在重复的文件名,那绝对不会立即更改文件名。
配置:Ubuntu 18.04,Puppeteer 1.18.1 我知道这是Nautilus文件管理器或Chrome的配置问题。可以配置这两个中的任何一个吗?
我无法预见nodejs中的一个选项,可以在下载文件之前重命名该文件。一种解决方法是将每个文件下载到temp文件夹中,然后在检查是否已存在的同时将其移动到所需的文件夹,如果存在则重命名。但这增加了很多时间复杂度。让chrome或nautilus来完成任务会很棒。
触发下载的功能: 等待页面。evaluate((doc_index,arg1,arg2)=> openDocument(String(doc_index),String(arg1),String(arg2),'ABC','','','XYZ'),doc_index,arg1, arg2)
预期的行为:当调用上述函数并且pdf开始在set文件夹中下载时,如果存在同名的pdf,则应将新的pdf重命名为pdf_name.pdf(1)之类。 / p>