c实现webservice上传下载文件.docxVIP

  • 49
  • 0
  • 约2.4千字
  • 约 17页
  • 2021-04-13 发布于天津
  • 举报
C# 实现 WebService 上传下载文件 WebService 代码: /// /// 传文件 /// /// 文件的 byte[] /// 上传文件的路径 /// 传文件名字 /// [WebMethod] public bool UploadFile(byte[] fs, string path, string fileName) bool flag = false; try //获取上传案例图片路径 path = Server.MapPath(path); if (!Directory.Exists(path)) Directory.CreateDirectory(path); //定义并实例化一个内存流,以存放提交上来的字节数组。 MemoryStream m = new MemoryStream(fs); //定义实际文件对象,保存上载的文件。 FileStream f = new FileStream(path + \ + fileName, FileMode.Create); //把内内存里的数据写入物理文件 m.WriteTo(f); m.Close(); f.Close(); f = null; m = null; } } } } flag = true; catch (Exception ex) flag = false; return flag; [WebMethod(Description = 下载服务器站点文件,传递文 件相对路径 )] public byte[] DownloadFile(string strFilePath, string path) FileStream fs = null; string CurrentUploadFolderPath = HttpContext.Current.Server.MapPath(path); string CurrentUploadFilePath = CurrentUploadFolderPath + \ + strFilePath; if (File.Exists(CurrentUploadFilePath)) try ///打开现有文件以进行读取。 fs = File.OpenRead(CurrentUploadFilePath); int b1; System.IO.MemoryStream tempStream = new System.IO.MemoryStream(); while ((b1 = fs.ReadByte()) != -1) tempStream.WriteByte(((byte)b1)); return tempStream.ToArray(); catch (Exception ex) } } } } return new byte[0]; finally fs.Close(); else return new byte[0]; 客户端代码: /// /// 上传图片附件 /// /// private bool UploadImage() bool flag = true; string path = @C:\Documents and Settings\Administrator\My Documents\My 获取文件 byte[]Pictures\10121312156cf4a761c504fe69.jpg;// 获取文件 byte[] byte[] bytes = GetBytesByPath(path);// string uploadPath = image;// 上传服务器文件夹路径 string fileName = img18.jpg;// 文件名称 try localhost.Service s = new WindowsFormsApplication1.localhost.Service(); if (s.UploadFile(bytes, uploadPath, fileName)) { flag = true; else { flag = false; } catch flag = false; return flag; /// /// 根据文件的路径获取图片的 byte[] /// /// /// public static byte[] GetBytesByPath(string path) FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); byte[] bytes = br.ReadBytes((int)

文档评论(0)

1亿VIP精品文档

相关文档