GetFileByMd5Excutor.cs 1.7 KB

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