Yog*_*ani 3 asp.net memorystream filestream asyncfileupload
我们使用的是asp.net的Asyncfileupload控件来上传文件,同样不行我们调试了一下,发现这样的代码:
input.Read(buffer, 0, buffer.Length)
Run Code Online (Sandbox Code Playgroud)
返回 0。
整个代码是这样的:
public static byte[] ReadFully(Stream input)
{
byte[] buffer = new byte[input.Length];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您位于字节数组的末尾或者网络连接中断,Stream.Read 可能会返回 0。您可以尝试这行代码来确保:
byte[] buffer = new byte[input.Length];
input.Position=0;
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3591 次 |
| 最近记录: |