这样输出的
var bytes = BitConverter.GetBytes(12456789);
context.Response.BinaryWrite(bytes);
处理页面做成ashx,然后用JS去请求.
是ashx,js怎么请求,能得到数据流(byte[])
@拖鞋王子:
你是前台要获得这个数据还是后台?后台要获得这个数据直接把这个输出变成一个公用的方法,然后调用就行了,为何非要分在两个页面呢?如果是前台想得到这个数据,而且是一组数据,经典是用XML,现在流行的是JSON
@happydaily: 我是要在一个网站中去请求另一个网站的一个页面获得数据,数据是二进制数据流
@拖鞋王子: 如果两个网站都是你的,你就把第一个网页做成webservice,第二个去请求.如果第一个不是你的,要解析第一个网页的HTML代码获得数据了.
@happydaily: 没明白我的意思,我的意思是在一个ashx已经把二进制数据通过BinaryWrite()方法写入了http输出流,怎么在另一个页面中请求得到这个二进制数据
楼上为正解
你另一个页面去请求这个输入流的页面就行了啊
//url是你的ashx的绝对路径,{key,value}是Post过去时设置的Querystring变量(地址参数,可为空)
$.post(url,{key,value},function(data) {
alert(data);//这就是你context.Response.BinaryWrite(bytes)返回的值
})
data可以是二进制数据流吗
@拖鞋王子: 这是的data是write出来的数据,是字符串形式的,可以根据不同类型再进行转换,如Json开、和二进制流(本质不就是字节数组吗,转为byte[]就可以了),根据需求解析出来就行了。
果断 webservice 啊 , js 去请求 也可以
最好使用地址传值
你这。。。。。。没看清我的问题
@拖鞋王子: 哦,输出流啊。。
如果是这样的话你只能设置一个公共的变量,让后调用这个变量了。
其实我还是觉得使用我上面的方法应该是可以实现你的目的。至少思想上是没有错误的。
你的意思是在前台已经在A页面中发送“请求”请求了ashx ,ashx输出了二进制流,你想要在前台的B页面中获取到输出的这个二进制流,是吧?