富文本编辑器中插入图片,目前图片地址仅支持 http(s) 和 base64 格式,使用起来不是很方便。能否放开限制,支持显示本地图片?
理由:
1. 这个限制的初衷可能是为了确保开发将图片上传,避免保存后图片无法显示的情形。这个问题很容易注意到,开发人员应该都知道原因和怎么解决;
2. 因为这个限制,用户编辑过程中操作的所有图片我们都必须上传到服务器上(上传是首选。虽然转成base64就可以不上传,但如果要存入数据库,还是很有顾虑,手机照片一般都比较大),会造成一些不必要的开销:
a) 一些图片插入后可能又被删掉了,或者插了很多图片最后放弃编辑了,这样的图片是没必要上传的,白白浪费存储空间;
b) 上传链接一般需要请求服务端获取(不然谁都可以上传,不安全),添加一个就要请求一次,不是很有效率。
3. 如果能够去掉这个限制,支持显示本地图片,那就可以在添加图片的时候暂时显示本地图片,图片路径先记录下来(如果图片删掉了,图片路径也从记录中删除),等到保存时,一次性请求所有图片的上传链接,然后批量上传,并替换掉html中的图片路径就可以了。
– 虽然这样在图片比较多时要多花些时间保存,但大部分情况下我觉得是更合理的。
– 同一个图片插入两次,临时路径是不一样的,可以用个map<filePath, md5>记录路径和md5的对应关系,用md5获取上传链接,同一个md5的图片只上传一次。虽然当前情况下也能这样做,但如果能先显示本地图片,会更方便。
具体采用哪种实现方式,希望能把这个选择权交给小程序开发人员。