私はViewControllerにWkWebViewを持っています。私はwebview load local htmlを使っていました。コードは次のとおりです。WebViewはローカルイメージをhtmlに挿入できませんでしたか?
guard let path = Bundle.main.url(forResource: "editor", withExtension: "html") else {
return
}
webView.load(URLRequest(url: path))
1:私はphotoLibraryから画像を選択してから、文書のディレクトリに保存しました。
private func fileName() -> String {
let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "[email protected]"
return "/" + formatter.string(from: date) + ".png"
}
func saveImage(_ image: UIImage) {
guard let imageData = UIImageJPEGRepresentation(image, 1.0) else {
return
}
let directory = NSHomeDirectory().appending("/Documents")
let path = directory.appending(fileName())
let fileManager = FileManager.default
do {
try fileManager.createDirectory(atPath: directory, withIntermediateDirectories: true, attributes: nil)
fileManager.createFile(atPath: path, contents: imageData, attributes: nil)
} catch {
SHLog("saveImage: \(error)")
}
}
2:画像パスを取得した後、webViewのメソッドを使用して画像を挿入しました。
func evaluateJs(_ imagePath: String) {
webView.evaluateJavaScript("insertImage('\(imagePath)')") { (response, error) in
}
}
insertImage()は、ローカルのjsファイルからのメソッドで、イメージをhtmlに挿入できます。
ローカルのimagePathを使用した場合、イメージをhtmlに挿入できませんでした。しかし、私が実際のURLを使用したとき、それは動作することができます。私は理由を知らない、誰も私を助けることができます。ありがとう。
こんにちは、@ジャックロング、あなたはそれを理解しましたか?私は同じ問題があります。 Thx〜 – Jerome
同じフォルダの下にhtmlファイルと画像を保管すれば、この問題は解決します。ここをクリック[link](http://blog.csdn.net/longshihua/article/details/78008594) –