內容不多,不會長篇大論,重在呈現結果,給有相同問題的小夥伴,先實現再說
android簡單多了
現在是20200828,再過幾個月,ios就要強制用WKWebview了。所以,ios問題多,也只能硬磕,下面簡寫一下研發的演進:
選擇本地圖片流程
圖片插入html的方案
base64
demo中提供的方案是圖片壓縮後轉base64.。但是個人感覺不是很舒服,一是實際效果看,圖片轉base64後的字符串很長,二是上傳服務端也不友好
所以,考慮研究直接根據路徑加載圖片
路徑加載圖片
起初查資料看到文中方案4,有個大致方案,就是html資源和圖片拷貝到沙盒裏,同目錄就行,這樣就簡單了,圖片加載:<img src=""/> src用file://或相對路徑都可以
demo研究,html等資源是在bundle中,圖片也是工程裏臨時拖進去測試的。。所以,沒有實際測試沙盒路徑下的圖片加載,實際開發時候,遇到棘手的問題,下面圖片放哪的問題細說
GCDWebServer
另外還有模擬本地服務的方案,就是webview進行http://等本地的服務請求加載圖片資源,具體實現去百度吧。個人不喜歡這方案,等於說圖片的加載交給了webview做網絡請求,但是真正發佈文章的時候,還要拿到圖片上傳給公司服務器,麻煩
圖片放哪的問題
上面說通過html資源和圖片同目錄實現本地圖片加載,梳理目錄的時候,想着document或library更正宗一些,放tmp經常被刪除導致頻繁的拷貝圖片進去
由於我不確定是誰的原因的原因,document和library做目錄,圖片是加載不到的,各種加載方式都試了還是不行,期間嘗試放tmp裏可以加載出來,然後繼續查資料,沒有原因,只有結論:放tmp裏
// NSURL *baseURL = [NSURL fileURLWithPath:KOriginalPhotoImagePath isDirectory:YES];
// [self.editorView loadHTMLString:htmlString baseURL:baseURL];
//loadFileURL方式
// [self.editorView loadFileURL:url allowingReadAccessToURL:[NSURL fileURLWithPath:KOriginalPhotoImagePath]];
//loadRequest方式
NSString *tmpWWWFeedback = _sbHtmlPath;
NSURL *feedbackURL = [NSURL fileURLWithPath:tmpWWWFeedback];
[self.editorView loadRequest:[NSURLRequest requestWithURL:feedbackURL]];
總結
ok,本文主要說了兩點,一是路徑問題,二是圖片的加載方式問題。沒什麼技術點,我就是借鑑各位前輩的資料,總結一下,給各位遇到類似問題的小夥伴參考一下