怎样写一个返回数据流的函数?
我想在web service上写一个返回数据流的函数。比如想下载这个文件11.dat
通过客户端访问web service上的这个函数的时候,可以把返回的数据流以文件的形式保存在客户机的硬盘里。
请问怎么做?
[解决办法]
using System;using System.Web;using System.Collections;using System.Web.Services;using System.Web.Services.Protocols;using System.Runtime.Remoting.Messaging;/// <summary>/// MyWebService 的摘要说明/// </summary>[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]public class MyWebService : System.Web.Services.WebService { public MyWebService () { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); }/// <summary> /// 获取服务器上的文件流 /// </summary> /// <param name="fileName">服务器上的文件名</param> [WebMethod] public void GetFileData(string fileName) { byte[] buffer = null;//保存文件内容的字节数组 //取得文件在服务器上的物理地址 fileName = Server.MapPath(".") + "\\" + fileName; if (System.IO.File.Exists(fileName)) { using (System.IO.FileStream stream = new System.IO.FileStream(fileName, System.IO.FileMode.Open)) { //实例化字节数组 buffer = new byte[(int)(stream.Length)]; //将文件内容一次性读取到字节数组中 stream.Read(buffer, 0, buffer.Length); } } return buffer;//将字节数组的内容返回 }}
[解决办法]
客户端接收byte[],然后利用FileStream写入到本地文件就行了。
[解决办法]
[WebMethod] public [color=#FF0000]void [/color]GetFileData(string fileName)//?????????????? { byte[] buffer = null;//保存文件内容的字节数组 //取得文件在服务器上的物理地址 fileName = Server.MapPath(".") + "\\" + fileName; if (System.IO.File.Exists(fileName)) { using (System.IO.FileStream stream = new System.IO.FileStream(fileName, System.IO.FileMode.Open)) { //实例化字节数组 buffer = new byte[(int)(stream.Length)]; //将文件内容一次性读取到字节数组中 stream.Read(buffer, 0, buffer.Length); } } return buffer;//将字节数组的内容返回 }
[解决办法]
public byte[] GetFileData(string fileName)
[解决办法]
自己去申请的啊,MS要审核的
[解决办法]
up