Расширение Chrome: может ли Javascript перехватить загрузку файла и проанализировать данные - PullRequest
3 голосов
/ 19 ноября 2011

Я пишу расширение Chrome для автоматизации одной из моих повседневных задач, часть задачи - загрузка файла .csv и манипулирование данными. В рамках автоматизации я хочу захватить файл с помощью Javascript и заставить скрипт управлять им.

Проблема захвата этого файла с XMLHttpRequest была бы кошмаром, потому что они посылают кучу уникальных идентификаторов для проверки пользователя, и было бы кошмаром выяснить, откуда они берутся.

Я могу легко нажать кнопку, используя javascript, который запускает загрузку файла, но есть ли способ, которым javascript может перехватить этот запрос и проанализировать CSV? Я думаю, если это невозможно с простым javascript, я мог бы сделать это с помощью API файла HTML5?

Ответы [ 2 ]

7 голосов
/ 20 ноября 2011

Вы можете попробовать использовать webRequest.onBeforeRequest API. Когда запрос на загрузку будет выполнен, вы можете отменить его этим методом, получить полный используемый URL-адрес и выполнить тот же запрос из JavaScript.

1 голос
/ 06 июля 2017

Это можно сделать, обратившись к содержимому файла с помощью запроса AJAX на file://{filepath} после загрузки файла. Вам просто нужно добавить разрешение file://* в файл манифеста.

Чтобы получить путь к загруженному файлу в локальной системе, используйте chrome.downloads.search и получите свойство filename.

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