sm = System.Web.HttpContext.Current.Request.InputStream;
//判断是否有数据流传入
if (sm.Length == 0)
{
strbool = false;
}
else
{
int len = (int)sm.Length;//获取数据流的长度
byte[] inputByts = new byte[len];
sm.Read(inputByts, 0, len);//读取所有数据 sm.Close();
JsonDatas = System.Text.Encoding.UTF8.GetString(inputByts);
当红色部分的Read()方法,中间参数为0时
JsonDatas="sessionkey=X_B_N_F"
当红色部分的Read()方法,中间参数为1或者比1大时sm.Read(inputByts, 1, len);//读取所有数据
显示如下错误:
{"目标数组的长度不够。请检查 destIndex 和长度以及数组的下限。"}
请问这是什么原因啊,Read()中各个参数代表什么意思,中间参数是代表从什么位置开始读取吗
如果我要读取JsonDatas=“N_F”怎么改
//判断是否有数据流传入
if (sm.Length == 0)
{
strbool = false;
}
else
{
int len = (int)sm.Length;//获取数据流的长度
byte[] inputByts = new byte[len];
sm.Read(inputByts, 0, len);//读取所有数据 sm.Close();
JsonDatas = System.Text.Encoding.UTF8.GetString(inputByts);
当红色部分的Read()方法,中间参数为0时
JsonDatas="sessionkey=X_B_N_F"
当红色部分的Read()方法,中间参数为1或者比1大时sm.Read(inputByts, 1, len);//读取所有数据
显示如下错误:
{"目标数组的长度不够。请检查 destIndex 和长度以及数组的下限。"}
请问这是什么原因啊,Read()中各个参数代表什么意思,中间参数是代表从什么位置开始读取吗
如果我要读取JsonDatas=“N_F”怎么改
解决方案 »
- 急!!wap图片显示问题
- WinForm窗体布局的两个新手问题~急!
- 关于winform的问题
- winfrom程序打包
- [散分]分享几个小技巧
- DateTimePicker控件
- 思归,孟子E章还有各位高手们,看看这几题,能作出多少???(唉~~~~~~~让我汗颜)
- 错误 1 命名空间“System”中不存在类型或命名空间名称“Linq”(是缺少程序集引用吗?)
- 为什么将“%D6%D0%B9%FA”用HttpUtility.UrlDecode方法会转化成й这样的字符,而不是“中国”
- java脚本如何实现时间显示,我用C#实在写不出来了..
- 逻辑算法求思路……
- 我想做一个dll,隐藏在域成员机上运行,进程显示为svchost.exe
字节数组。此方法返回时,该缓冲区包含指定的字符数组,该数组的 offset 和 (offset + count -1) 之间的值由从当前源中读取的字节替换。 offset
buffer 中的从零开始的字节偏移量,从此处开始存储从当前流中读取的数据。 count
要从当前流中最多读取的字节数。
你的数组有100个长度,而你如果从1开始读,读取100个,就需要你的数组有101个容量,而你只有100个,所以报错
哦明白了
问下当我把0改为5 sm.Read(inputByts, 5, len-5);
获取值如下
JsonDatas="\0\0\0\0\0sessionkey=X_"
怎么让它显示JsonDatas="X_"
if (JsonDatas.Length > 2)
{
string s = JsonDatas.Substring(JsonDatas.Length - 2,2);
}
嗯 我已经这样写了,还是谢谢你
上面的sm.Read(inputByts, 5, len-5);
与sm.Read(inputByts, 0, len-5);
显示的值为什么一样的,您知道为什么吗