public async Task <IActionResult> Create([FromForm] UploadMediaRequestModel model) { if (model.File == null) { return(this.StatusCode((int)HttpStatusCode.UnprocessableEntity)); } var organisationClaim = this.User.Claims.FirstOrDefault(x => x.Type == AccountConstants.Claims.OrganisationIdClaim); var serviceModel = new CreateMediaItemServiceModel { Username = this.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value, OrganisationId = GuidHelper.ParseNullable(organisationClaim?.Value), Language = CultureInfo.CurrentCulture.Name, File = model.File }; var validator = new CreateMediaItemModelValidator(); var validationResult = await validator.ValidateAsync(serviceModel); if (validationResult.IsValid) { var mediaItemId = await this.mediaService.CreateFileAsync(serviceModel); return(this.StatusCode((int)HttpStatusCode.Created, new { Id = mediaItemId })); } return(this.StatusCode((int)HttpStatusCode.BadRequest)); }
public async Task <string> UploadFile(UploadMediaRequestModel uploadModel) { var url = _addressConfig.UploadMediaUrl; _client.QueryString.Add("type", uploadModel.MediaType.ToString().ToLower()); var result = await _client.UploadOneFile(url, uploadModel.FileName); return(result); }
public async Task <string> uploadFile([FromBody] FileInfos fileInfos) { try { //var fileName = HttpContext.Current.Server.MapPath(fileInfos.FilePath); var fileName = fileInfos.FilePath; var uploadFileModel = new UploadMediaRequestModel() { FileName = fileName, MediaType = UploadMediaType.File }; string uploadModel = await dtManager.UploadFile(uploadFileModel); FileSendModel fileSendModel = JsonConvert.DeserializeObject <FileSendModel>(uploadModel); //绑定路径信息 fileInfos.MediaId = fileSendModel.Media_Id; fileInfos.LastModifyState = "0"; fileInfos.LastModifyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); using (DDContext context = new DDContext()) { fileInfos.FilePath = @"\" + fileInfos.FilePath.Replace(AppDomain.CurrentDomain.BaseDirectory, ""); context.FileInfos.Add(fileInfos); context.SaveChanges(); } return(JsonConvert.SerializeObject(new ErrorModel { errorCode = 0, errorMessage = "上传盯盘成功" })); } catch (Exception ex) { return(JsonConvert.SerializeObject(new ErrorModel { errorCode = 1, errorMessage = ex.Message })); } }
public async Task <string> UploadMedia([FromBody] string Path) { var fileName = ""; if (string.IsNullOrEmpty(Path)) //测试数据 { fileName = HttpContext.Current.Server.MapPath("~/测试媒体文件/测试文本123.txt"); } else { fileName = HttpContext.Current.Server.MapPath(Path); } var uploadFileModel = new UploadMediaRequestModel() { FileName = fileName, MediaType = UploadMediaType.File }; return(await dtManager.UploadFile(uploadFileModel)); }
public async Task <object> PostFile(FileModel fileModel) { try { string result = ""; if (fileModel != null) { string Base64String = fileModel.Base64String.Replace("data:image/png;base64,", ""); byte[] FileContent = Convert.FromBase64String(Base64String); string ImageFilePath = AppDomain.CurrentDomain.BaseDirectory + "UploadFile\\Images\\ChangeImages\\"; string PdfFilePath = AppDomain.CurrentDomain.BaseDirectory + "UploadFile\\Flies\\"; string FileName = Path.GetFileName(fileModel.FileName.Substring(0, fileModel.FileName.Length - 4)); string Err = ""; bool upres = WriteFile(ImageFilePath, FileContent, FileName + ".png", out Err); if (upres) { //清除文件 File.Delete(PdfFilePath + FileName + ".PDF"); //生成PDF PDFHelper.ConvertJpgToPdf(ImageFilePath + FileName + ".png", PdfFilePath + FileName + ".PDF"); //上盯盘 string fileName = PdfFilePath + FileName + ".PDF"; var uploadFileModel = new UploadMediaRequestModel() { FileName = fileName, MediaType = UploadMediaType.File }; DingTalkManager dingTalkManager = new DingTalkManager(); string UploadFileResult = await dingTalkManager.UploadFile(uploadFileModel); FileSendModel fileSendModel = JsonConvert.DeserializeObject <FileSendModel>(UploadFileResult); //替换数据库MediaId using (DDContext context = new DDContext()) { Tasks tasks = context.Tasks.Where(t => t.TaskId.ToString() == fileModel.TaskId && t.NodeId == 0).First(); tasks.MediaIdPDF = tasks.MediaIdPDF.Replace(fileModel.OldMediaId, fileSendModel.Media_Id); result = tasks.MediaIdPDF; context.Entry <Tasks>(tasks).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); } } else { result = "上传文件写入失败:" + Err; } } else { result = "上传的文件信息不存在!"; } return(new ErrorModel() { errorCode = 0, errorMessage = "保存成功", Content = result }); } catch (Exception ex) { return(new ErrorModel() { errorCode = 1, errorMessage = ex.Message }); } }
public async Task <IActionResult> Index([FromForm] UploadMediaRequestModel model) { var importedOrderLines = this.orderFileService.ImportOrderLines(model.File); var basketItems = new List <BasketItem>(); foreach (var orderLine in importedOrderLines) { var product = await this.productsRepository.GetProductAsync( await HttpContext.GetTokenAsync(ApiExtensionsConstants.TokenName), CultureInfo.CurrentUICulture.Name, orderLine.Sku); if (product == null) { this.logger.LogError($"Product for SKU {orderLine.Sku} and language {CultureInfo.CurrentUICulture.Name} couldn't be found."); } else { var basketItem = new BasketItem { ProductId = product.Id, ProductSku = product.Sku, ProductName = product.Name, PictureUrl = product.Images.OrEmptyIfNull().Any() ? this.mediaService.GetFileUrl(this.options.Value.MediaUrl, product.Images.First(), OrdersConstants.Basket.BasketProductImageMaxWidth, OrdersConstants.Basket.BasketProductImageMaxHeight, true) : null, Quantity = orderLine.Quantity, ExternalReference = orderLine.ExternalReference, DeliveryFrom = orderLine.DeliveryFrom, DeliveryTo = orderLine.DeliveryTo, MoreInfo = orderLine.MoreInfo }; basketItems.Add(basketItem); } } var basket = await this.basketRepository.SaveAsync( await HttpContext.GetTokenAsync(ApiExtensionsConstants.TokenName), CultureInfo.CurrentUICulture.Name, model.Id, basketItems); var basketResponseModel = new BasketResponseModel { Id = basket.Id }; var productIds = basket.Items.OrEmptyIfNull().Select(x => x.ProductId.Value); if (productIds.OrEmptyIfNull().Any()) { basketResponseModel.Items = basket.Items.OrEmptyIfNull().Select(x => new BasketItemResponseModel { ProductId = x.ProductId, ProductUrl = this.linkGenerator.GetPathByAction("Edit", "Product", new { Area = "Products", culture = CultureInfo.CurrentUICulture.Name, Id = x.ProductId }), Name = x.ProductName, Sku = x.ProductSku, Quantity = x.Quantity, ExternalReference = x.ExternalReference, ImageSrc = x.PictureUrl, ImageAlt = x.ProductName, DeliveryFrom = x.DeliveryFrom, DeliveryTo = x.DeliveryTo, MoreInfo = x.MoreInfo }); } return(this.StatusCode((int)HttpStatusCode.OK, basketResponseModel)); }