我开始在DropzoneJS上使用7,043这是一个很棒的开源库, stars Github。它提供带有图像预览的拖放文件上传。
但是,上传大于100k的图片会导致Firefox
中出现以下错误:
在以下行中引发的 dropzone.js 中的IndexSizeError:索引或大小为负数或大于允许的数量
:
return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);
其他人报告说在创建缩略图here时遇到此行为。
经过一番研究后,这是Firefox中常见的错误。最相关的stackoverflow问题:
1- Canvas - IndexSizeError: Index or size is negative or greater than the allowed amount
答案 0 :(得分:1)
在快速fix之后解决了我的问题。
基本上被替换:
return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);
使用:
return ctx.drawImage(img, Math.round(sx), Math.round(sy), Math.round(sw), Math.round(sh), Math.round(dx), Math.round(dy), Math.round(dw), Math.round(dh) / vertSquashRatio);
在dropzone.js