public async Task <IActionResult> Index() { try { var boundary = MultipartRequestHelper.GetBoundary(MediaTypeHeaderValue.Parse(Request.ContentType), DefaultFormOptions.MultipartBoundaryLengthLimit); var reader = new MultipartReader(boundary, HttpContext.Request.Body); var section = reader.ReadNextSectionAsync().Result; while (section != null) { ContentDispositionHeaderValue.TryParse(section.ContentDisposition, out var contentDisposition); if (MultipartRequestHelper.HasFileContentDisposition(contentDisposition)) { var fileNameUpload = HeaderUtilities.RemoveQuotes(contentDisposition.FileName).Value; var bytes = StreamToBytes(section.Body); var result = await _fileAppService.Upload(fileNameUpload, bytes); return(Json(result)); } section = await reader.ReadNextSectionAsync(); } return(NoContent()); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
/// <summary> /// 创建文档 /// </summary> /// <param name="file"></param> /// <param name="category"></param> /// <returns></returns> public async Task <DocumentDto> CreateDocument(IFormFile file, string category = "Files") { var fileDto = await _fileAppService.Upload(file, category : category); return(await Create(new DocumentDto { Category = fileDto.Category, OriginalName = fileDto.OriginalName, StorageName = fileDto.StorageName })); }