コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }