简体   繁体   中英

iOS 13 Swift 5 wkwebview - display image from documents directory into wkwebview real device

I have an app with downloaded images to be displayed in local html in WKWEBVIEW. Everything is working fine but it is not showing image on iPhone device

the html is

"\\n

<img src="images/d35fb6a3-8a21-4196-9616-ad2c6db60669/fd21b894-38c0-42c5-aa69-a938abe40e4b2467857252325869136.png">

\\n

<img src="images/d35fb6a3-8a21-4196-9616-ad2c6db60669/c927a2a6-4ef0-481d-b27d-525cec7ed3814195490571216387044.png">

\\n"

matching to this HTML it is to be displayed in a wkwebview which gets displayed perfectly on simulator with the following code

let baseURL = Functions.FileIO.contentFolderURL()
self.webView?.loadHTMLString(HTML, baseURL: baseURL)

and then finally displaying

baseURL comes to be

Optional ▿ some : file:///Users/paza/Library/Developer/CoreSimulator/Devices/D2204E03-8A8F-4EF4-8924-683CF519DD19/data/Containers/Data/Application/E4ED56CF-B247-4471-9F9B-23384FD6D6B3/Documents/content/ - _url : file:///Users/paza/Library/Developer/CoreSimulator/Devices/D2204E03-8A8F-4EF4-8924-683CF519DD19/data/Containers/Data/Application/E4ED56CF-B247-4471-9F9B-23384FD6D6B3/Documents/content/

 self.webView?.loadHTMLString(HTML, baseURL: baseURL)

working in simulator below does not work in Device

as https://stackoverflow.com/a/52838445/3455426[ ] 2

suggested I tried

self.webView?.loadFileURL(baseURL, allowingReadAccessTo: baseURL)

but the result this comes blank on real device

any leads will be appreciated , Thanks in advance

In WKWebview if we have to show HTML with Cached resources ,firstly we have to save the html string in HTML file in documents directory.

make sure ur cached resources path and the path of HTML file are same also , the cached resources are identified by the lastPathComponent only .

So the fault was the HTML which should have been

let HTML = "<html><body>\n<p><img src=\"fd21b894-38c0-42c5-aa69-a938abe40e4b2467857252325869136.png\"></p>\n<p><img src=\"c927a2a6-4ef0-481d-b27d-525cec7ed3814195490571216387044.png\"><br></p>\n</body></html>"

Specifically the last path component should be there .

Also I followed https://en.it1352.com/article/9f185d4d185243cc92128148443ca660.html here the explanation is almost perfect , I just saved in documents directory for swift.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM