Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2019, 22:04
Новичок на форуме
Отправить личное сообщение для Commodore Посмотреть профиль Найти все сообщения от Commodore
 
Регистрация: 27.05.2019
Сообщений: 3

Перехватить файл из веб-запроса Chrome onBeforeRequest
Я хочу получить файлы, которые загружаются через POST. К сожалению, я получаю requestBody как FormData, что делает невозможным доступе к файлу. Я получаю только имя файла в виде строки .... Мне нужно изменить содержимое файла и отправить его на сервер, то-есть перехватить его. На клиенте установлено расширение и весь скрипт работает в background.js. Как я бы мог сделать это?
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2019, 22:29
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 844

Сообщение от Commodore
я получаю requestBody как FormData, что делает невозможным доступе к файлу.
Навскидку:
var f = formData.get('file'); // получили файл, 'file' - имя поля формы

// дальше с помощью FileReader читаем файл, 
// например, как строку или как файловый массив

// с полученными данными что-то делаем, получаем новые данные в переменную newData

var newFile = new Blob([newData]); // новый файл

formData.set('file', newFile, f.name);


https://developer.mozilla.org/en-US/...b/API/FormData
https://developer.mozilla.org/ru/docs/Web/API/Blob/Blob

Последний раз редактировалось Alexandroppolus, 27.05.2019 в 22:33.
Ответить с цитированием
  #3 (permalink)  
Старый 28.05.2019, 21:15
Новичок на форуме
Отправить личное сообщение для Commodore Посмотреть профиль Найти все сообщения от Commodore
 
Регистрация: 27.05.2019
Сообщений: 3

Получается этот скрипт изменяет содержимое
тега input=file значения files?
Ответить с цитированием
  #4 (permalink)  
Старый 28.05.2019, 21:28
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,709

Сообщение от Commodore
тега input=file значения files?
Нет, оно только меняет данные поля file у formData.
Ответить с цитированием
  #5 (permalink)  
Старый 29.05.2019, 10:26
Новичок на форуме
Отправить личное сообщение для Commodore Посмотреть профиль Найти все сообщения от Commodore
 
Регистрация: 27.05.2019
Сообщений: 3

Но изменять данные body в onbeforerequest нельзя https://code.google.com/p/chromium/i...etail?id=91191
Смогу ли я заблокировать текущий запрос и отправить поддельный?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подключить файл обработки ajax запроса к своему проекту. St. AJAX и COMET 26 15.10.2016 06:53
Неверная обработка ajax запроса в chrome. Реализация анимации загрузки chiffenok AJAX и COMET 0 29.07.2013 08:02
Как отправить Ajax запрос от плагина Chrome к веб серверу? fedotxxl AJAX и COMET 0 29.11.2011 18:53
FF и Chrome не видят внешний файл со скриптом. IE - видит. percolant Firefox/Mozilla 0 26.02.2011 00:04