public async Task <JsonResult> AddAttachment(UploadOrderAttachmentRequest request) { if (!ModelState.IsValid) { return(Json(false, data: ErrorToDictionary(), contentType: SaleManagentConstants.Misc.JsonResponseContentType)); } Image image = Image.FromStream(request.File.InputStream); var file = new Core.Models.FileInfo { ContentType = request.File.ContentType, FileName = request.File.FileName, Purpose = request.FilePurpose == 0 ? FilePurpose.OrderAttachment.GetDisplayName() : request.FilePurpose.GetDisplayName(), Data = GetByteImage(image), ContentLength = request.File.ContentLength }; string strPhysicsPath = HttpContext.Server.MapPath("~/orderImage"); file.ThumbnailData = MakeThumbnail(request.File.InputStream, 300, 300, strPhysicsPath + "\\" + file.Id + ".jpg").ReadAllBytes(); image.Dispose(); var manager = new FileManager(User); await manager.CreateAsync(file); if (!string.IsNullOrEmpty(request.OrderId)) { var orderManager = new OrderManager(User); var order = await orderManager.GetOrderAsync(request.OrderId); order.Attachments.Add(new OrderAttachment { FileInfoId = file.Id, OrderId = order.Id, CreatorId = User.Id }); await orderManager.UpdateOrderAsync(order); } return(Json(true, data: new { id = file.Id, url = "data:image/jpg;base64," + Convert.ToBase64String(file.ThumbnailData), name = file.FileName, length = file.ThumbnailData.Length }, contentType: SaleManagentConstants.Misc.JsonResponseContentType)); }
public async Task <JsonResult> AddAttachment(AttachmentRequestBase request) { if (!ModelState.IsValid) { return(Json(false, data: ErrorToDictionary(), contentType: SaleManagentConstants.Misc.JsonResponseContentType)); } var file = new Core.Models.FileInfo { ContentType = request.File.ContentType, FileName = request.File.FileName, Purpose = FilePurpose.SpotGoodsAttachment.GetDisplayName(), Data = await request.File.InputStream.ReadAllBytesAsync(), ContentLength = request.File.ContentLength }; var manager = new FileManager(User); await manager.CreateAsync(file); return(Json(true, data: new { id = file.Id, url = "data:image/jpg;base64," + Convert.ToBase64String(file.Data), name = file.FileName, length = file.Data.Length }, contentType: SaleManagentConstants.Misc.JsonResponseContentType)); }