void DownFile(string filename) { if (_proxy != null) { DownFile dfPath = new DownFile { FileName = filename }; long filesize = 0; bool issuccess = false; string message = ""; Stream filestream = new MemoryStream(); DownFileResult dfresult = _proxy.DownLoadFile(dfPath); filesize = dfresult.FileSize; issuccess = dfresult.IsSuccess; message = dfresult.Message; filestream = dfresult.FileStream; //, out issuccess, out message, out filestream if (issuccess) { if (!Directory.Exists(_savePath)) { Directory.CreateDirectory(_savePath); } byte[] buffer = new byte[filesize]; FileStream fs = new FileStream(_savePath + @"\" + filename, FileMode.Create, FileAccess.Write); int count = 0; while ((count = filestream.Read(buffer, 0, buffer.Length)) > 0) { fs.Write(buffer, 0, count); } //清空 fs.Flush(); //关闭流 fs.Close(); } else { MessageBox.Show(message); } } }