Автоматическое переименование повторяющихся загрузок имени файла в chrome / puppeteer / ubuntu - PullRequest
0 голосов
/ 11 июля 2019

Я загружаю pdf файлы, используя headFULL хром и кукловод. Я вызываю функцию javascript в контексте браузера, и начинается загрузка. Имя файла приходит как есть с сервера. Проблема: многие файлы, которые я загружаю в каталог, имеют одинаковые имена, поступающие с сервера, и Chrome вместо того, чтобы автоматически добавлять индекс (1) к файлу, перезаписывает существующий.

Поскольку файл загружается путем вызова функции JS, и я также проверил эту функцию, у меня нет доступа к URL-адресу pdf. Он запускается с помощью вызова функции, и поэтому я не могу контролировать имена файлов. У меня есть список имен файлов, но это никак не помогает в изменении имени файла на лету, если его повторное имя уже существует на компьютере.

Конфиг: Ubuntu 18.04, Puppeteer 1.18.1 Я знаю, что это проблема конфигурации файлового менеджера Nautilus или Chrome. Можно ли настроить любой из этих двух?

Я не могу предвидеть вариант в nodejs, где я могу переименовать файл перед его загрузкой. Обходной путь - загрузить каждый файл во временную папку, затем переместить его в нужную папку, одновременно проверяя, существует ли он, и переименовывать, если это так. Но это добавляет много времени сложности. Было бы здорово, если бы Chrome или Nautilus сделали это.

Функция, которая запускает загрузку: ожидание page.evaluate ((doc_index, arg1, arg2) => openDocument (String (doc_index), String (arg1), String (arg2), 'ABC', '', '', 'XYZ'), doc_index, arg1, arg2)

Ожидаемое поведение: когда вышеупомянутая функция вызывается и pdf начинает загрузку в заданную папку, если pdf с таким же именем существует, новый pdf должен быть переименован во что-то вроде pdf_name.pdf (1) или тому подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...