MemoryStream,kb 中有多少字节?
MemoryStream, how many bytes in kb?
我正在使用 .net core 上传图像文件。该文件被转换为 MemoryStream,然后发送到将验证该文件的服务。目前我这样做是这样的:
MemoryStream stream = GetMemoryStream();
var fileSize = stream.length;
现在我要保证图片不大于512kb。我的问题是我不确定使用什么值来转换为字节,1024 还是 1000?从 MemoryStream 列出长度时应该使用十进制值还是二进制值?
哪种情况是正确的?
场景A
if(fileSize > 512000) return false;
场景 B
if(fileSize > 524288) return false;
编辑:
当我在桌面上查看图像的属性时,它显示为 512KB。电脑是用什么场景计算出那个尺寸的?
MemoryStream.Length
returns 包含数据的字节长度。
因此,您的验证完全取决于您对 512 kb
的定义。因此,您的两种情况都有些真实;在第一个中,您假设 1 kb = 1000 bytes
,在第二个中,您假设 1 kb = 1024 bytes
。由您决定哪种更适合您的应用程序。
关于您的编辑,您计算机上用于千字节的值取决于您使用的OS。例如,在 Windows 上是 1024 bytes。
我正在使用 .net core 上传图像文件。该文件被转换为 MemoryStream,然后发送到将验证该文件的服务。目前我这样做是这样的:
MemoryStream stream = GetMemoryStream();
var fileSize = stream.length;
现在我要保证图片不大于512kb。我的问题是我不确定使用什么值来转换为字节,1024 还是 1000?从 MemoryStream 列出长度时应该使用十进制值还是二进制值?
哪种情况是正确的?
场景A
if(fileSize > 512000) return false;
场景 B
if(fileSize > 524288) return false;
编辑:
当我在桌面上查看图像的属性时,它显示为 512KB。电脑是用什么场景计算出那个尺寸的?
MemoryStream.Length
returns 包含数据的字节长度。
因此,您的验证完全取决于您对 512 kb
的定义。因此,您的两种情况都有些真实;在第一个中,您假设 1 kb = 1000 bytes
,在第二个中,您假设 1 kb = 1024 bytes
。由您决定哪种更适合您的应用程序。
关于您的编辑,您计算机上用于千字节的值取决于您使用的OS。例如,在 Windows 上是 1024 bytes。