SWFUpload 对大于 4GB 文件显示 0 size 的 bug
今天收到一个 bug,QA 居然用一个 10.3G 的「盗梦空间」来做测试。简直是天才,佩服。
我们的文件大小限制是 100MB,照理,对于如此巨大文件应该是显示「文件太大」之类的信息,然而,我拿到的居然是「文件大小为 0」。
亏得之前侵入了 SWFUpload 的 AS 源代码,trace(...)
之后发现在取 size 的时候报 I/O 错误,于是乎文件大小变成了 NaN
,很欣慰,因为如果它变成 0 就不太这么好处理了。
所以我修改了 AS 和 JS 的代码,添加了一个新的错误码,这样在拿到如此巨型文件的时候,我报的错误信息就是 - 「文件超过限制 - 文件大小 >4GB …」
如此看来,不能全部相信别人的代码,即使用再强大的开源代码,也应该自己多看多改,这是没错的。