Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c中上载文件时带有BinaryReader的空数组#_C#_Binaryreader - Fatal编程技术网

C# c中上载文件时带有BinaryReader的空数组#

C# c中上载文件时带有BinaryReader的空数组#,c#,binaryreader,C#,Binaryreader,假设以下代码: Stream file = files[0].InputStream; var FileLen = files[0].ContentLength; var b = new BinaryReader(file); var bytes = b.ReadBytes(FileLen); 如果我上传一个包含10条记录(257字节)的CSV文件,BinaryReader将用“0”填充字节数组 我还编写了一个循环来逐步遍历BinaryReader的ReadByte方法,在循环的第一次迭代

假设以下代码:

Stream file = files[0].InputStream;

var FileLen = files[0].ContentLength;

var b = new BinaryReader(file);
var bytes = b.ReadBytes(FileLen);
如果我上传一个包含10条记录(257字节)的CSV文件,BinaryReader将用“0”填充字节数组

我还编写了一个循环来逐步遍历BinaryReader的ReadByte方法,在循环的第一次迭代中,我收到了以下异常:

无法读取流结尾以外的内容

当我将CSV文件增加到200条记录时,一切正常


问题是,为什么会在较小的文件上发生这种情况,是否有一种解决方法允许对较小的文件进行二进制读取。

不确定原因,但当您在上载的流上使用BinaryReader时,需要显式设置开始位置

b.BaseStream.Position = 0;

尝试
b.BaseStream.Position=0
在调用
ReadBytes
@Adeel之前,我希望从原点开始上传文件…奇怪-如果你与Fiddler等人核实,是否有有效负载?是的,有有效负载,我可以将有效负载加载到streamreader并拉第一行,我相信我可以这样拉所有信息。我想在DB中存储二进制文件,而不是字符串形式。@Adeel,你完全正确,在反复检查所有内容后,问题出在BaseStream.position上。