Wkwebview не может отображать изображения в html, имеющие путь к каталогу библиотеки - PullRequest
0 голосов
/ 05 ноября 2019

Я изучал подобные вопросы, но не смог найти решение.

Я использую WkWebView. Он отображает HTML из каталога библиотеки, поэтому я сделал loadfileurl.

Имеется опция отображения изображения, мы выбираем изображение из галереи / снимаем камеру, затем из данных изображения создаем файл в каталоге библиотеки и отправляем путь в Интернет. Я пробовал оба пути var / ..., а также добавленный файл: // в обоих случаях изображение не отображается. Пожалуйста помоги. Любые предложения приветствуются.

1 Ответ

0 голосов
/ 06 ноября 2019

Альтернативой может быть кодирование изображений в виде строк base64 и вставка их в HTML перед рендерингом. Вы можете сохранить изображения как изображения или строку base64, в зависимости от того, хотите ли вы использовать их в другом контексте.

// Get the base64 representation of the image
let image = UIImage(named: icon) // This could also be loaded from the file system
let data = image!.pngData()
let b64String = String(data: data!.base64EncodedData(), encoding: String.Encoding.utf8)!
let finalString = "data:image/png;base64," + b64String

// Insert into HTML string before rendering in webview
let myHTML = baseHTML.replacingOccurrences(of: "#PLACEHOLDER#", with: finalString)

Вам понадобится #PLACEHOLDER# в вашем HTML-файле в точке, гдеу вас будет путь к изображению.

...