UEditor多图上传时图片乱序,或偶尔丢失问题解决

百度的UEditor的多图上传功能对有大量图片同时上传的需求者来说,无疑是非常方便的,但在使用过程中发现两个BUG。

1.上传成功插入图片时,偶尔会乱顺,没有按照选择图片时的顺序插入。

2.插入图片后,图片偶有丢失情况,视图中,丢失的图片位置则显示下一张图片。


BUG解决如下:

1的原因,是上传成功后,则加入插入列表队列,但图片大小不同,由于上传线程是并行的,所以,靠后的图片如果很小,上传就很快,以至先加入队例。所以,dialogs/image/image.js文件第721行代码作如下更改:


//_this.imageList.push(json);
_this.imageList[$file.index()] = json; // 按选择好的文件列表顺序存储


2.的原因是图片命名格式化时,随机数出现重复,导致已上传的图片被下一个图片覆盖掉。

App_Code/PathFormater.cs文件第35行作如下更改:

 //var rand = new Random();
  var rand = new Random(GetRandomSeed());


并加入方法

 private static int GetRandomSeed()
    {
        byte[] bytes = new byte[4];
        System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider();
        rng.GetBytes(bytes);
        return BitConverter.ToInt32(bytes, 0);
    }


以上修改需要清除浏览器缓存才可以生效。

猜你喜欢

转载自blog.csdn.net/qq_35458793/article/details/80345959
今日推荐