Ejemplo n.º 1
0
        // 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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public async Task <FileResult> Post([FromServices] SaveFileTempCommand _saveFileTempCommand)
 {
     return(await UploadFileAsync(_saveFileTempCommand, HttpContext).ConfigureAwait(false));
 }