• ueditor编辑器多图上传为什么顺序打乱了


     我上一个版本用的是ueditor1.3.6,自从1.4.2版以后,“前端上传模块统一改用webuploader”,ueditor在多图上传一直考虑漏掉了图片顺序的问题。
      我的网站在用户上传图片文章的时候,使用多图上传,点确认后,编辑框内的图片顺序是乱的。
      看webuploader的问题在于多线程上传,ueditor对“uploadSuccess”的处理是上传成功一张,就加入到数组中,这样如果图片上传完成顺序是乱的,最终加入文本框的顺序也乱了。
      我这里修改了一下js,供大家参考,希望ueditor能改进这个问题:
      vim dialogs/image/image.js

      716 uploader.on('uploadSuccess', function (file, ret) {
      717 var $file = $('#' + file.id);
      718 try {
      719 var responseText = (ret._raw || ret),
      720 json = utils.str2json(responseText);
      721 if (json.state == 'SUCCESS') {
      722 _this.imageList[$file.index()] = json; // 按选择好的文件列表顺序存储
      723 $file.append('');
      724 } else {
      725 $file.find('.error').text(json.state).show();
      726 }
      727 } catch (e) {
      728 $file.find('.error').text(lang.errorServerUpload).show();
      729 }
      730 });

      vim dialogs/attachment/attachment.js

      500 uploader.on('uploadSuccess', function (file, ret) {
      501 var $file = $('#' + file.id);
      502 try {
      503 var responseText = (ret._raw || ret),
      504 json = utils.str2json(responseText);
      505 if (json.state == 'SUCCESS') {
      506 _this.fileList[$file.index()] = json;
      507 $file.append('');
      508 } else {
      509 $file.find('.error').text(json.state).show();
      510 }
      511 } catch (e) {
      512 $file.find('.error').text(lang.errorServerUpload).show();
      513 }
      514 });

      vim dialogs/video/video.js

      729 uploader.on('uploadSuccess', function (file, ret) {
      730 var $file = $('#' + file.id);
      731 try {
      732 var responseText = (ret._raw || ret),
      733 json = utils.str2json(responseText);
      734 if (json.state == 'SUCCESS') {
      735 uploadVideoList[$file.index()] = {
      736 'url': json.url,
      737 'type': json.type,
      738 'original':json.original
      739 };
      740 $file.append('');
      741 } else {
      742 $file.find('.error').text(json.state).show();
      743 }
      744 } catch (e) {
      745 $file.find('.error').text(lang.errorServerUpload).show();
      746 }
      747 });

      如上,都使用了$file.index()作为数组下标,可以保证图片上传后顺序是按照用户选择图片以后,加入到预览窗口的顺序。
  • 相关阅读:
    责任链模式(Chain of Responsibility)
    模板模式(Template Method)
    组合模式(Composite Pattern)
    原型模式(Prototype Pattern)
    策略模式(Strategy Pattern)
    状态模式(State Pattern)
    增删改查
    安卓sql
    安卓第三次作业
    安卓第四周作业
  • 原文地址:https://www.cnblogs.com/-strong/p/8315548.html
Copyright © 2020-2023  润新知