The*_*One 3 .net c# memorystream bytearray asp.net-mvc-3
我正在使用以下代码从HttPostedFileBase对象中获取字节数组
byte[] mobileAppByteArray = default(byte[]);
using (MemoryStream ms = new MemoryStream())
{
httpPostedFileObject.InputStream.CopyTo(ms);
mobileAppByteArray = ms.GetBuffer();
}
Run Code Online (Sandbox Code Playgroud)
httpPostedFileObject的原始大小为3191KB,但是经过上述转换并将其保存到磁盘后,文件大小为4096KB
我知道默认的缓冲区大小CopyTo是4096,但是即使将缓冲区大小更改为1024,结果也是相同的:文件大小为4096KB。
保存到磁盘后,如何更改代码,使文件保持为3191KB?
这是因为GetBuffer将返回整个基础缓冲区,而不仅仅是返回输入流中已填充字节的部分。尝试改用该ToArray方法:
mobileAppByteArray = ms.ToArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
409 次 |
| 最近记录: |