Как загрузить файл с CEF? - PullRequest
2 голосов
/ 10 мая 2019

Я использую CefSharp, но вопрос касается и CEF C ++

У меня есть приложение javascript, которое вы можете использовать для редактирования / преобразования изображений. После того, как вы закончите, вы хотите загрузить изображение в CEF и сохранить его в базе данных / файловой системе.

Javascript-код загружает файл с использованием API-интерфейса FormData как multipart / form-data. У меня есть собственный ResourceHandler, который обрабатывает запрос и пытается прочитать данные поста.

Однако в

bool ProcessRequest(IRequest request, ICallback callback)

request.PostData.HasExcludedElements == true

и файл двоичных данных отсутствует. Я нашел эти сообщения

https://www.magpcss.org/ceforum/viewtopic.php?f=6&t=16625 https://magpcss.org/ceforum/viewtopic.php?f=6&t=14371

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

Как я должен загружать двоичные данные (Blob) из Javascript в CEF?

1 Ответ

1 голос
/ 10 мая 2019

Вы можете сделать AJAX-запрос на фальшивый URL-адрес, такой как http://grab-this-image.com/grabme.htm?savas=filename, и перехватить его в (C ++) ClientHandler::OnBeforeResourceLoad()

Получите данные и верните RV_CANCEL для отмены навигации.

...