内容不多,不会长篇大论,重在呈现结果,给有相同问题的小伙伴,先实现再说
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,本文主要说了两点,一是路径问题,二是图片的加载方式问题。没什么技术点,我就是借鉴各位前辈的资料,总结一下,给各位遇到类似问题的小伙伴参考一下
ios 编辑器1-基于WKWebview的编辑器技术方案
ios 编辑器3-基于wkwebview编辑器插入网络图片不显示问题
ios 编辑器4-基于wkwebview编辑器插入视频文件封面问题