| | |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | [HttpPost("getAttachments")] |
| | | public ResponseResult GetAttachments([FromBody] JObject data) |
| | | { |
| | | var releaseNo = data["releaseNo"]?.ToString(); |
| | | try |
| | | { |
| | | dynamic resultInfos = new System.Dynamic.ExpandoObject(); |
| | | var tbBillList = new LljService().GetAttachments(releaseNo); |
| | | if (tbBillList == null || tbBillList.Count == 0) |
| | | { |
| | | return new ResponseResult |
| | | { |
| | | status = 1, |
| | | message = "该检验单未上传附件信息!", |
| | | data = null |
| | | }; |
| | | } |
| | | resultInfos.tbBillList = tbBillList; |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | | message = "OK", |
| | | data = resultInfos |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | [HttpGet("DownloadFtpFile")] |
| | | public IActionResult DownloadFtpFile([FromQuery] string itemNo, [FromQuery] string fileName) |
| | | { |
| | | // FTP服务器信息(请替换为实际信息) |
| | | string ftpServer = "ftp://36.26.21.214"; |
| | | string ftpUser = "hm_ftp"; |
| | | string ftpPwd = "dell_123"; // 已更新为真实密码 |
| | | string ftpPath = $"{ftpServer}/IQC/{itemNo}/{fileName}"; |
| | | try |
| | | { |
| | | var request = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(ftpPath); |
| | | request.Method = System.Net.WebRequestMethods.Ftp.DownloadFile; |
| | | request.Credentials = new System.Net.NetworkCredential(ftpUser, ftpPwd); |
| | | request.UseBinary = true; |
| | | request.UsePassive = true; |
| | | using (var response = (System.Net.FtpWebResponse)request.GetResponse()) |
| | | using (var ftpStream = response.GetResponseStream()) |
| | | using (var ms = new System.IO.MemoryStream()) |
| | | { |
| | | ftpStream.CopyTo(ms); |
| | | ms.Position = 0; |
| | | string contentType = "application/octet-stream"; |
| | | // 防御性处理,去除fileName中的回车换行和空格 |
| | | fileName = fileName?.Trim().Replace("\r", "").Replace("\n", ""); |
| | | return File(ms.ToArray(), contentType, fileName); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return BadRequest($"FTP下载失败:{ex.Message},ftpPath={ftpPath},fileName={fileName}"); |
| | | } |
| | | } |
| | | } |