通过Web Service进行文件传输

来源:互联网 发布:java生产者消费者模式 编辑:程序博客网 时间:2024/04/29 12:47

服务端:  

 [WebMethod(Description = "上传文件/图片")]
    public string UploadFile(byte[] fsBuffer, string FileName)
    {
           using (MemoryStream m = new MemoryStream(fsBuffer))//定义并实例化一个内存流,来存放上传的文件/图片二进制流
            {
                    using (FileStream f = new FileStream(System.Configuration.ConfigurationManager.AppSettings["FileSavePath"] + FileName, FileMode.Create))//把内存里的文件写入文件流
                    {
                        m.WriteTo(f);
                    }
                }
     }

 

 

客户端:

 System.IO.Stream fs = new System.IO.FileStream(fileName, FileMode.Open);
 FileService service = new FileService();
 byte[] fsbuffer = new byte[fs.Length];
 fs.Read(fsbuffer , 0, (int)fs.Length);//将输入流读入二进制数组中
 service.UploadFile(fsbuffer , "test.jpg");

 

注:该方法不适应大文件的下载,因为这是一次性把文件读入内存的。