PostFileExcutor.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 JLHHJSvr.DBA.DBModle;
  9. using LJLib.DAL.SQL;
  10. using LJLib.Net.SPI.Server;
  11. using LJLib.Tools.Encry;
  12. namespace JLHHJSvr.Excutor
  13. {
  14. internal sealed class PostFileExcutor : ExcutorBase<PostFileRequest, PostFileResponse>
  15. {
  16. protected override void ExcuteInternal(PostFileRequest request, object state, PostFileResponse rslt)
  17. {
  18. var tokendata = BllHelper.GetToken(request.token);
  19. if (tokendata == null)
  20. {
  21. rslt.ErrMsg = "会话已经中断,请重新登录";
  22. return;
  23. }
  24. if (request.filedata == null || request.filedata.Length == 0)
  25. {
  26. rslt.ErrMsg = "获取文件数据失败";
  27. return;
  28. }
  29. if (string.IsNullOrEmpty(request.fileType))
  30. {
  31. rslt.ErrMsg = "分析文件类型失败";
  32. return;
  33. }
  34. var md5Helper = new MD5();
  35. var md5 = md5Helper.GetMD5(request.filedata);
  36. using (var con = new SqlConnection(GlobalVar.ConnectionString))
  37. using (var cmd = con.CreateCommand())
  38. {
  39. con.Open();
  40. var filemap = new st_file {filemd5 = md5};
  41. if (DbSqlHelper.SelectOne(cmd, filemap, "md5") != 1)
  42. {
  43. filemap.filedata = request.filedata;
  44. filemap.fileType = request.fileType;
  45. DbSqlHelper.Insert(cmd, filemap);
  46. }
  47. }
  48. rslt.md5 = md5;
  49. }
  50. }
  51. }