Exemplo n.º 1
0
        public async Task <ActionResult> UploadFile()
        {
            var httpRequest = HttpContext.Request;

            if (httpRequest.Files.Count > 0)
            {
                const int fileIndex      = 0;
                var       blobRepository = new BlobStorageRepository(GetStorageSettings());

                var directory = FileUploadHelper.GetFormValue <string>(httpRequest, "directory", string.Empty);
                var fileName  = string.IsNullOrWhiteSpace(directory) ?
                                FileUploadHelper.GetFileName(httpRequest, fileIndex) :
                                Path.Combine(directory, FileUploadHelper.GetFileName(httpRequest, fileIndex));

                using (Stream fileStream = FileUploadHelper.GetInputStream(httpRequest, fileIndex))
                    await blobRepository.UploadAsync(fileName, fileStream);

                return(RedirectToAction("Index"));
            }

            throw new ArgumentException("File count is zero.");
        }