// Upload entire file private async Task <FileResult> UploadWholeFile(SaveFileTempCommand _saveFileTempCommand, HttpContext context) { var fileResult = new FileResult(); var files = context.Request.Form.Files; for (var i = 0; i < files.Count; i++) { var file = files[i]; var saveFileTempInput = new SaveFileTempInput(); saveFileTempInput.SiteId = HttpContext.Request.Form["siteId"]; saveFileTempInput.ConfigJson = HttpContext.Request.Form["config"]; var length = file.Length; saveFileTempInput.FileData = new FileData { Filename = file.FileName, ContentType = file.ContentType, FileSize = length, Stream = file.OpenReadStream() }; var result = await Business.InvokeAsync <SaveFileTempCommand, SaveFileTempInput, CommandResult <SaveFileResult> >( _saveFileTempCommand, saveFileTempInput).ConfigureAwait(false); fileResult.Files.Add(FilesStatus(Url.Content("~/"), file.FileName, length, file.ContentType, result.Data)); } return(fileResult); }
private async Task <FileResult> UploadFileAsync(SaveFileTempCommand _saveFileTempCommand, HttpContext context) { var headers = context.Request.Headers; FileResult fileResult; if (string.IsNullOrEmpty(headers["X-File-Name"])) { fileResult = await UploadWholeFile(_saveFileTempCommand, context); } else { throw new NotImplementedException(); } return(fileResult); }
public async Task <FileResult> Post([FromServices] SaveFileTempCommand _saveFileTempCommand) { return(await UploadFileAsync(_saveFileTempCommand, HttpContext).ConfigureAwait(false)); }