public IHttpActionResult GetPreviewLinkInfo(string businessId) { var finder = PreviewRelationOperator.Instance.GetModel(businessId); finder.DocumentLength = FileUploadHelper.GetContentLength(finder.DocumentByteLength); return(BizResult(finder)); }
/// <summary> /// 通用上传文件方法 /// </summary> /// <param name="businessId"></param> /// <param name="action"></param> /// <param name="fileName"></param> /// <param name="fileStream"></param> /// <returns></returns> public Lib.Model.Attachment CommonUpload(string businessId, string action, string fileName, Stream fileStream) { fileStream.Seek(0, SeekOrigin.Begin); var userInfo = WebHelper.GetCurrentUser();; var fileCode = FileUploadHelper.UploadFile(fileStream, fileName); var attachment = new Lib.Model.Attachment(); attachment.ID = Guid.NewGuid().ToString(); attachment.Name = fileName; attachment.AttachmentPath = fileCode; attachment.BusinessID = businessId; attachment.BusinessType = action; attachment.IsUseV1 = false; attachment.CreateDate = DateTime.Now; attachment.CreatorLoginName = userInfo.LoginName; attachment.CreatorName = userInfo.CNName; attachment.IsDeleted = false; attachment.ModifierLoginName = userInfo.LoginName; attachment.ModifierName = userInfo.CNName; attachment.ModifyTime = DateTime.Now; attachment.FileSize = FileUploadHelper.GetContentLength(fileStream.Length); return(attachment); }
/// <summary> /// 读取任务下发后上传的填报数据 /// </summary> /// <param name="businessID"></param> /// <param name="stream"></param> /// <param name="fullFileName"></param> /// <param name="validateTemplate"></param> /// <returns></returns> public object ReadUploadTaskData(string businessID, Stream stream, string fullFileName, bool validateTemplate = true) { object res = null; int status = 0; int dataCount = 0; var bytes = stream.ToBytes(); LoginUserInfo userinfo = WebHelper.GetCurrentUser();; ExcelEngine engine = new ExcelEngine(); Workbook databook = new Workbook(stream); //Lib.Log.LogHelper.Instance.Info("读取至aspose成功"); string templeteID = engine.GetStringCustomProperty(databook.Worksheets[0], "TempleteID"); Framework.Core.Log.LogHelper.Instance.Info(string.Format("正在检测excel中的自定义属性,TemplateID:{0}", templeteID)); var task = TemplateTaskOperator.Instance.GetModel(businessID); //Lib.Log.LogHelper.Instance.Info("读取下发任务成功"); var dcu = DataCollectUserOperator.Instance.GetModel(task.DataCollectUserID); var tci = TemplateConfigInstanceOperator.Instance.GetModel(dcu.TemplateConfigInstanceID); var configs = TemplateConfigOperator.Instance.GetList(tci.TemplateID, null).ToList(); var sheetConfigs = TemplateSheetOperator.Instance.GetList(tci.TemplateID).ToList(); Attachment attach = new Attachment(); if (templeteID.ToLower() != dcu.TemplateID.ToLower() && validateTemplate) { Framework.Core.Log.LogHelper.Instance.Info(string.Format("当前获取到的任务TemplateID:{0}", dcu.TemplateID)); status = -100; res = new { Attachment = attach, Status = status }; } else { try { attach.ID = Guid.NewGuid().ToString(); var pathIndex = fullFileName.LastIndexOf('\\') >= 0 ? fullFileName.LastIndexOf('\\') + 1 : 0; var fileName = fullFileName.Substring(pathIndex); stream.Seek(0, SeekOrigin.Begin); //--这里保存的文件格式有问题 string fileCode = FileUploadHelper.UploadFileStream(stream, bytes.Length, fileName); attach.Name = fileName; // fileName.Substring(0, fileName.LastIndexOf('.')); attach.AttachmentPath = fileCode; // System.IO.Path.Combine(DateTime.Now.ToString("yyyyMMdd"), fileID + extName); attach.BusinessID = businessID; attach.BusinessType = "UploadTaskData"; attach.IsUseV1 = false; attach.CreateDate = DateTime.Now; attach.CreatorLoginName = userinfo.LoginName; attach.CreatorName = userinfo.CNName; attach.IsDeleted = false; attach.ModifierLoginName = userinfo.LoginName; attach.ModifierName = userinfo.CNName; attach.ModifyTime = DateTime.Now; attach.FileSize = FileUploadHelper.GetContentLength(bytes.Length); status = 100; try { var data = TemplateTaskOperator.Instance.ReadTaskData(attach, configs, sheetConfigs); dataCount = data.Sheets.Sum(x => x.Rows.Count); if (dataCount == 0) { res = new { Attachment = attach, Status = -102, DataCount = 0 }; } else { AttachmentOperator.Instance.AddAndUpdateModel(attach); res = new { Attachment = attach, Status = status, DataCount = data.Sheets.Select(x => new { SheetName = x.SheetName, DataCount = x.Rows.Count }) }; } } catch (Exception e) { Framework.Core.Log.LogHelper.Instance.Error(e); res = new { Attachment = attach, Status = -101, ErrorMessage = e.Message }; } } catch (Exception e) { status = 0; Framework.Core.Log.LogHelper.Instance.Error(e); res = new { Attachment = attach, Status = status }; } } return(res); }