在很多时候,上传文件是经常要用到的,一般我两个方法,一种是通过ashx扩展,另一种说是通过wcf了,本篇只讲述使用后者的实现方法。

现实功能:文件上传,简单上传进度显示。

1.在asp.net工程里新建项:Silverlight-enabled WCF Service

添加一个DoUpload方法:
  1. 1:  [ServiceContract(Namespace = "")]
  2. 2:  [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
  3. 3:  public class Service1
  4. 4:  {
  5. 5:      [OperationContract]
  6. 6:      public void DoUpload(string fileName, byte[] context, bool append)
  7. 7:      {
  8. 8:          //上传目录
  9. 9:          string folder = System.Web.Hosting.HostingEnvironment.MapPath("~/upload");
  10. 10:          if (!System.IO.Directory.Exists(folder))
  11. 11:          {
  12. 12:              //如果上传目录不存在则新建一个
  13. 13:              System.IO.Directory.CreateDirectory(folder);
  14. 14:          }
  15. 15:          //文件读写模式
  16. 16:          FileMode m = FileMode.Create;
  17. 17:          if (append)
  18. 18:          {
  19. 19:              //如果参数为true则表示续传,以追加模式操作文件
  20. 20:              m = FileMode.Append;
  21. 21:          }
  22. 22: 
  23. 23:          //写文件操作
  24. 24:          using (FileStream fs = new FileStream(folder + @"\" + fileName, m, FileAccess.Write))
  25. 25:          {
  26. 26:              fs.Write(context, 0, context.Length);
  27. 27:          }
  28. 28:          return;
  29. 29:      }
  30. 30:  }
复制代码
2.引用我们的上述完成的wcf服务,silverlight工程右键->添加服务引用

通过wcf 文件上传,简单上传进度显示image.png(63.54 K)
2009-11-18 21:40:10

相关文章:

  • 2021-06-05
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
相关资源
相似解决方案