ftpUploadDLL.cs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. using System;
  2. using System.Windows.Forms;
  3. using Newtonsoft.Json.Linq;
  4. using HttpServices;
  5. using ProgressBar = ftpUploadDLL.Weblogic.ProgressBar;
  6. using VersionListData = ftpUploadDLL.Weblogic.VersionListData;
  7. using System.Threading;
  8. using FtpConnection;
  9. namespace ftpUploadDLL
  10. {
  11. public class ftpUploadDLL
  12. {
  13. public string currentPath = "";
  14. public string serverPath = "";
  15. public string serverFTPName = "";
  16. public string serverFTPPassword = "pryk@";
  17. public string ftpIP = "";
  18. public string ftpDefaultFolder = "browser";
  19. public static JArray fileStringArray = new JArray();
  20. /// <summary>
  21. /// 弹选择文件的界面
  22. /// </summary>
  23. /// <param name="inParams"></param>
  24. /// <returns></returns>
  25. public string versionList(string inParams)
  26. {
  27. // System.Diagnostics.Debugger.Launch();
  28. string errorCode = "0";
  29. string errorMessage = "";
  30. JObject jObject = new JObject();
  31. try
  32. {
  33. VersionListData versionListDataing = new VersionListData(inParams);
  34. string outstring= versionListDataing.outstring;
  35. JObject outstringObj = JObject.Parse(outstring);
  36. errorCode = outstringObj["errorCode"].ToString();
  37. if (errorCode != "0")
  38. {
  39. return outstring;
  40. }
  41. if (versionListDataing.ShowDialog() == DialogResult.OK)
  42. {
  43. errorCode = "0";
  44. errorMessage = "结束";
  45. jObject.Add("errorCode", errorCode);
  46. jObject.Add("errorMessage", errorMessage);
  47. return jObject.ToString();
  48. }
  49. else
  50. {
  51. errorCode = "-1";
  52. errorMessage = "取消操作";
  53. jObject.Add("errorCode", errorCode);
  54. jObject.Add("errorMessage", errorMessage);
  55. return jObject.ToString();
  56. }
  57. }
  58. catch (Exception ex2)
  59. {
  60. errorCode = "-1";
  61. errorMessage = ex2.Message;
  62. }
  63. jObject.Add("errorCode", errorCode);
  64. jObject.Add("errorMessage", errorMessage);
  65. return jObject.ToString();
  66. }
  67. /// <summary>
  68. /// 获取文件路径
  69. /// </summary>
  70. public string getFilePath(string inParams)
  71. {
  72. string errorCode = "0";
  73. string errorMessage = "";
  74. JObject jObject = new JObject();
  75. String fileName = "", filePath = "";
  76. try
  77. {
  78. JObject inputEmpParamsObj = JObject.Parse(inParams);
  79. var paramsdata = inputEmpParamsObj["params"][0];
  80. string fileFlag = paramsdata["fileFlag"].ToString(); //文档路径
  81. if (fileFlag == "true")
  82. {
  83. Thread t = new Thread((ThreadStart)(() =>
  84. {
  85. OpenFileDialog dialog = new OpenFileDialog();
  86. dialog.Filter = "DLL文件(*.dll)|*.dll|所有文件(*.*)|*.*";
  87. dialog.Title = "打开";
  88. dialog.FilterIndex = 1;
  89. dialog.RestoreDirectory = true;
  90. if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  91. {
  92. fileName = dialog.SafeFileName;
  93. filePath = dialog.FileName.Replace("\\", "/");
  94. }
  95. }));
  96. // Run your code from a thread that joins the STA Thread
  97. t.SetApartmentState(ApartmentState.STA);
  98. t.Start();
  99. t.Join();
  100. }
  101. else {
  102. Thread t = new Thread((ThreadStart)(() =>
  103. {
  104. FolderBrowserDialog dialog = new FolderBrowserDialog();
  105. dialog.Description = "请选择文件路径";
  106. if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  107. {
  108. filePath = dialog.SelectedPath.Replace("\\", "/");
  109. }
  110. }));
  111. // Run your code from a thread that joins the STA Thread
  112. t.SetApartmentState(ApartmentState.STA);
  113. t.Start();
  114. t.Join();
  115. }
  116. }
  117. catch (Exception ex2)
  118. {
  119. errorCode = "-1";
  120. errorMessage = ex2.Message;
  121. }
  122. jObject.Add("errorCode", errorCode);
  123. jObject.Add("errorMessage", errorMessage);
  124. jObject.Add("filePath", filePath);
  125. jObject.Add("fileName", fileName);
  126. return jObject.ToString();
  127. }
  128. /// <summary>
  129. /// ftp上传
  130. /// </summary>
  131. /// 上传文件->上传成功返回
  132. /// <param name="inParams"></param>
  133. /// <returns></returns>
  134. public string doUpload(string inParams)
  135. {
  136. //System.Diagnostics.Debugger.Launch();
  137. string errorCode = "0";
  138. string errorMessage = "";
  139. JObject jObject = new JObject();
  140. try
  141. {
  142. JObject inputEmpParamsObj = JObject.Parse(inParams);
  143. var hisResultobj = inputEmpParamsObj["hisResult"];
  144. errorCode = hisResultobj["errorCode"].ToString();
  145. errorMessage = hisResultobj["errorMessage"].ToString();
  146. if (errorCode == "0")
  147. {
  148. var resultObj = hisResultobj["result"];
  149. string ftpIP = resultObj[0]["ftpIP"].ToString(); //ftp路径
  150. string serverPath = resultObj[0]["ftpToPath"].ToString(); //ftp路径
  151. string serverFTPName = resultObj[0]["serverFTPName"].ToString(); //ftp用户
  152. string serverFTPPassword = resultObj[0]["serverFTPPassword"].ToString(); //ftp密码
  153. ///判断ftp是否可以连接
  154. ///port
  155. errorMessage = "";
  156. //port
  157. string[] sArray = ftpIP.Split(new string[1] { ":" }, StringSplitOptions.None);
  158. string ftpip = sArray[0].ToString();
  159. string ftpport = sArray[1].ToString();
  160. FtpOperationClass ftpOpObj = new FtpOperationClass();
  161. string checkinfo = ftpOpObj.CheckLinkFtp(ftpip, serverFTPName, serverFTPPassword, ftpport);
  162. JObject checkinfoobj = JObject.Parse(checkinfo);
  163. errorCode = checkinfoobj["errorCode"].ToString();
  164. errorMessage = checkinfoobj["errorMessage"].ToString();
  165. if (errorCode != "0")
  166. {
  167. jObject.Add("errorCode", errorCode);
  168. jObject.Add("errorMessage", errorMessage);
  169. return jObject.ToString();
  170. }
  171. }
  172. ProgressBar progressBaring = new ProgressBar(inParams);
  173. if (progressBaring.ShowDialog() == DialogResult.OK)
  174. {
  175. return progressBaring.outstring;
  176. }
  177. else
  178. {
  179. //return progressBaring.outstring;
  180. jObject.Add("errorCode", "-1");
  181. jObject.Add("errorMessage", "上传中断或已取消");
  182. return jObject.ToString();
  183. }
  184. }
  185. catch (Exception ex2)
  186. {
  187. errorCode = "-1";
  188. errorMessage = ex2.Message;
  189. }
  190. jObject.Add("errorCode", errorCode);
  191. jObject.Add("errorMessage", errorMessage);
  192. return jObject.ToString();
  193. }
  194. public string GetFtpDataToHip(string inParams)
  195. {
  196. int checkFlag = 0;
  197. string code = "0";
  198. string message = "";
  199. //保存版本到hip 返回 获取Ftp用户,密码,地址(加密)
  200. JObject inputEmpParamsObj = JObject.Parse(inParams);
  201. var paramsdata = inputEmpParamsObj["params"][0];
  202. string hipIP = paramsdata["hipIP"].ToString(); //hipIP
  203. string hipURL = paramsdata["hipURL"].ToString(); //URL
  204. string hipAuthorization = paramsdata["hipAuthorization"].ToString(); //hipAuthorization
  205. JObject jObject = new JObject();
  206. RestClient restClient = new RestClient();
  207. string hisResult = restClient.HISHTTPServices(inParams, hipIP, hipURL, hipAuthorization); //调用HIS回调
  208. return hisResult;
  209. }
  210. }
  211. }