You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC图片大小校验:字节数组长度应对比1048576还是1000000?

图片大小校验:选1048576还是1000000?

这个问题得先搞清楚两个数字背后的单位差异,我来给你掰扯明白:

  • 先明确两个数值的本质:

    • 1048576 是 1 MiB(二进制兆字节),也就是2的20次方字节,这是计算机系统中衡量文件实际字节大小的标准单位——你拿到的图片字节数组的长度,对应的就是这个二进制计算逻辑。
    • 1000000 是 1 MB(十进制兆字节),也就是10的6次方字节,这个更多是厂商宣传存储设备时用的(比如硬盘、U盘标注的容量),但不是程序里计算文件实际大小的常用方式。
  • 结合你的场景选哪个:
    你是直接对比图片的字节数组长度,那肯定要用 1048576 来做校验。原因很简单:当你把图片读取成字节数组时,数组的长度就是文件实际占用的二进制字节数,和MiB的计算逻辑完全匹配。如果用1000000的话,相当于把限制放宽了一点(因为1MiB≈1.05MB),不符合你“1MB以内”的实际技术需求。

  • 补充个小细节:
    你已经定义了 Constants.PictureMaximumSize = 1048576,这个设定是完全正确的,直接用它和字节数组长度对比就可以了。比如代码里可以这么写:

    if (imageByteArray.Length > Constants.PictureMaximumSize)
    {
        // 图片超过1MiB,提示用户处理
    }
    

内容的提问来源于stack exchange,提问作者CSharpLearner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:27:49