Пример #1
0
        public void UploadForm(IFormFile file, string email)
        {
            //Create unique filename for server upload
            string webRootPath    = _env.WebRootPath;
            string fileName       = Path.GetFileName(file.FileName);
            string uploadFolder   = Path.Combine(webRootPath, "files");
            string uniqueFileName = Guid.NewGuid().ToString() + "_" + fileName;
            string filePath       = Path.Combine(uploadFolder, uniqueFileName);

            //Copy file to server
            using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
            {
                file.CopyTo(fileStream);
            }

            //Add file to S3
            AddFileToS3(bucketName, filePath);

            //Create presigned URL for S3 file
            string url = _is3Serv.GeneratePreSignedURL(bucketName, uniqueFileName);


            //Email the url to user
            _mailServ.SendMail(email, url);

            URL = url;
        }
Пример #2
0
        public async Task <string> UploadFormAsync(IFormFile file, string email)
        {
            //Upload file to server before uploading to S3
            string webRootPath    = _env.WebRootPath;
            string fileName       = Path.GetFileName(file.FileName);
            string uploadFolder   = Path.Combine(webRootPath, "files");
            string uniqueFileName = Guid.NewGuid().ToString() + "_" + fileName;
            string filePath       = Path.Combine(uploadFolder, uniqueFileName);

            using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
            {
                file.CopyTo(fileStream);
            }

            await AddFileToS3(bucketName, filePath);

            string url = _service.GeneratePreSignedURL(bucketName, uniqueFileName);

            //_service.UploadObject(url, filePath);

            _mailService.SendMail(email, url);

            return(url);
        }