-3

我正在使用 .net core 上传图像文件。该文件被转换为 MemoryStream,然后发送到将验证该文件的服务。目前我这样做是这样的:

MemoryStream stream = GetMemoryStream();
var fileSize = stream.length;

现在我要确保图像不大于 512 kb。我的问题是我不确定要使用什么值来转换为字节、1024 或 1000?从 MemoryStream 列出长度时,我应该使用十进制还是二进制值?

哪个场景是正确的?

方案 A

if(fileSize > 512000) return false;

方案 B

if(fileSize > 524288) return false;

编辑:

当我在桌面上查看图像的属性时,它显示为 512KB。计算机使用哪种方案来计算该大小?

4

1 回答 1

2

MemoryStream.Length返回包含数据的长度(以字节为单位)。

因此,您的验证完全取决于您对512 kb. 因此,您的两种情况都有些正确;在第一个你假设,1 kb = 1000 bytes在第二个你假设1 kb = 1024 bytes。由您决定哪个更适合您的应用程序。

关于您的编辑,计算机上用于千字节的值取决于您使用的操作系统。例如,在 Windows 上是1024 字节

于 2019-09-01T16:51:19.113 回答