GetFileByMd5Excutor.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.SqlClient;
  4. using System.Linq;
  5. using System.Text;
  6. using JLHHJSvr.BLL;
  7. using JLHHJSvr.Com;
  8. using LJLib.Net.SPI.Server;
  9. namespace JLHHJSvr.Excutor
  10. {
  11. internal sealed class GetFileByMd5Excutor : ExcutorBase<GetFileByMd5Request, GetFileByMd5Response>
  12. {
  13. protected override void ExcuteInternal(GetFileByMd5Request request, object state, GetFileByMd5Response rslt)
  14. {
  15. var tokendata = BllHelper.GetToken(request.token);
  16. if (tokendata == null)
  17. {
  18. rslt.ErrMsg = "会话已经中断,请重新登录";
  19. return;
  20. }
  21. if (string.IsNullOrEmpty(request.md5))
  22. {
  23. rslt.ErrMsg = "所请求的图片无效";
  24. return;
  25. }
  26. using (var con = new SqlConnection(GlobalVar.ConnectionString))
  27. using (var cmd = con.CreateCommand())
  28. {
  29. con.Open();
  30. cmd.CommandText = "SELECT filedata, fileType FROM st_file WHERE filemd5 = @md5";
  31. cmd.Parameters.Clear();
  32. cmd.Parameters.AddWithValue("@md5", request.md5);
  33. using (var reader = cmd.ExecuteReader())
  34. {
  35. if (reader.Read())
  36. {
  37. rslt.fileData = (byte[])reader["filedata"];
  38. rslt.fileType = Convert.ToString(reader["fileType"]);
  39. }
  40. else
  41. {
  42. rslt.ErrMsg = "文件不存在";
  43. return;
  44. }
  45. }
  46. }
  47. }
  48. }
  49. }