关于富文本上传图片多选的处理

Posted 山河&统一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于富文本上传图片多选的处理相关的知识,希望对你有一定的参考价值。

image: function image() 
                          var _this3 = this;
                          const input = document.createElement(\'input\');
                          let limit = 500; //上传图片限制500K
                          let imgArr = [];
                          let backupConditions = true;
                          let insertionConditions = true;
                          let imgNum = 0;

                          input.setAttribute(\'type\', \'file\');
                          input.setAttribute(\'accept\', \'image/*\');
                          input.setAttribute(\'multiple\', \'multiple\');
                          input.click();

                          input.onchange = async () => 
                            let total = input.files.length;
                            Array.from(input.files).forEach((item, index) => 
                              //上传图片限制500
                              if (item.size > (1024 * 1024 * limit) / 1024) 
                                failTip(`$item.name文件过大,请上传小于$limitK的图片`, 5);
                                backupConditions = false;
                                return false;
                              
                              /*
                               *上传的图片中有大于500K的不执行请求,backupConditions为false
                               */
                              if (index == total - 1) 
                                if (backupConditions) 
                                  Array.from(input.files).forEach((item, index) => 
                                    const formData = new FormData();
                                    formData.append(\'file\', item, item.name);
                                    fetch(
                                      `$sldservicev3/oss/common/upload?source=setting&index=$index`,
                                      
                                        credentials: \'include\',
                                        method: \'POST\',
                                        headers: ,
                                        body: formData,
                                      
                                    )
                                      .then(response => response.json())
                                      .then(res => 
                                        if (res.state == 200) 
                                          let idx = res.data.index,
                                            url = res.data.url;
                                          imgNum += 1;
                                          imgArr[idx] = res.data.url;
                                          if (
                                            imgArr.length == total &&
                                            imgNum == total &&
                                            insertionConditions
                                          ) 
                                            insertionConditions = false;
                                            imgArr.forEach((items, i) => 
                                              var range = _this3.quill.getSelection(true);
                                              _this3.quill.updateContents(
                                                new _quillDelta2.default()
                                                  .retain(i + range.index)
                                                  .delete(range.length)
                                                  .insert( image: items ),
                                                _emitter2.default.sources.USER
                                              );
                                              if (i == total) 
                                                insertionConditions = true;
                                                imgNum = 0;
                                                imgArr = [];
                                              
                                            );
                                            input.value = \'\';
                                          
                                        
                                      );
                                  );
                                
                              
                            );
                          ;
                        ,

 

以上是关于关于富文本上传图片多选的处理的主要内容,如果未能解决你的问题,请参考以下文章

富文本框插件KindEditor 上传图片不走后台直接js上传文件到oss要怎么处理?

关于富文本kindeditor中上传本地图片成功后获取到的图片路径是相对路径修改为绝对路径

百度UEditor富文本上传图片

java 解析富文本处理 img 标签

Android:支持多选的本地相册

vue tinymce 控制图片大小上传,以及富文本编辑框在dialog的问题