public async Task <FileDetailVO> SaveFileToDisk(IFormFile file)
        {
            if (file == null || file?.Length == 0)
            {
                return(null);
            }

            var fileDetail = new FileDetailVO();
            var fileType   = Path.GetExtension(file.FileName);
            //  Pega a url baseado no host
            var baseUrl = _context.HttpContext.Request.Host.Host;

            if (fileType.ToLower() == ".pdf" ||
                fileType.ToLower() == ".jpg" ||
                fileType.ToLower() == ".jpeg" ||
                fileType.ToLower() == ".png")
            {
                var docName     = Path.GetFileName(file.FileName);
                var destination = Path.Combine(_basePath, docName);

                fileDetail.DocumentName = docName;
                fileDetail.Doctype      = fileType;
                fileDetail.DocUrl       = Path.Combine(baseUrl, "/api/v1/file/", fileDetail.DocumentName);

                using (var stream = new FileStream(destination, FileMode.Create))
                {
                    await file.CopyToAsync(stream);
                }
            }

            return(fileDetail);
        }
Пример #2
0
        public async Task <FileDetailVO> SaveFileToDisk(IFormFile file)
        {
            FileDetailVO fileDetail = new FileDetailVO();
            var          fileType   = Path.GetExtension(file.FileName);
            var          baseUrl    = _context.HttpContext.Request.Host;

            if (fileType.ToLower() == ".pdf" ||
                fileType.ToLower() == ".jpg" ||
                fileType.ToLower() == ".png" ||
                fileType.ToLower() == ".jpeg")
            {
                var docName = Path.GetFileName(file.FileName);
                if (file != null && file.Length > 0)
                {
                    var destination = Path.Combine(_basePath, "", docName);
                    fileDetail.DocumentName = docName;
                    fileDetail.DocType      = fileType;
                    fileDetail.DocUrl       = Path.Combine(baseUrl + "/api/file/v1/" + fileDetail.DocumentName);

                    // Recording on Disk
                    using var stream = new FileStream(destination, FileMode.Create);
                    await file.CopyToAsync(stream);
                }
            }
            return(fileDetail);
        }
Пример #3
0
        public async Task <FileDetailVO> SaveFileToDisk(IFormFile file)
        {
            FileDetailVO fileDetail = new FileDetailVO();

            var fileType = Path.GetExtension(file.FileName);
            //pega o end de onde está a aplicação pode ser localhost, nuvem, etc...
            var baseUrl = _context.HttpContext.Request.Host;

            if (fileType.ToLower() == ".pdf" || fileType.ToLower() == ".jpg" ||
                fileType.ToLower() == ".png" || fileType.ToLower() == ".jpeg" ||
                fileType.ToLower() == ".mp3" || fileType.ToLower() == ".mp4")
            {
                var docName = Path.GetFileName(file.FileName);
                if (file != null && file.Length > 0)
                {
                    var destination = Path.Combine(_basePath, "", docName);
                    fileDetail.DocumentName = docName;
                    fileDetail.DocType      = fileType;
                    fileDetail.DocUrl       = Path.Combine(baseUrl + "/api/file/v1/" + fileDetail.DocumentName);

                    using (var stream = new FileStream(destination, FileMode.Create))
                    {
                        await file.CopyToAsync(stream);
                    }
                }
            }
            return(fileDetail);
        }
Пример #4
0
        public async Task <FileDetailVO> SaveFileToDisk(IFormFile file)
        {
            FileDetailVO fileDetail = new FileDetailVO();
            var          fileType   = Path.GetExtension(file.FileName);
            //AQUI VOU BUSCAR A URL BASE DO HOST QUE CARREGA O FICHEIRO
            var Url = Context.HttpContext.Request.Host;

            if (fileType.ToLower() == ".pdf" || fileType.ToLower() == ".jpg" || fileType.ToLower() == ".png" || fileType.ToLower() == ".jpeg")
            {
                var docName = Path.GetFileName(file.FileName);
                if (docName != null)
                {
                    var destination = Path.Combine(BasePath + "" + docName);
                    fileDetail.DocType      = fileType;
                    fileDetail.DocumentName = docName;
                    fileDetail.DocUrl       = Path.Combine(Url + "/api/file/v1/" + fileDetail.DocumentName);

                    await using var stream = new FileStream(destination, FileMode.Create);
                    await file.CopyToAsync(stream);
                }
            }
            return(fileDetail);
        }
Пример #5
0
        //realiza o upload de um único arquivo
        public async Task <IActionResult> UploadOneFile([FromForm] IFormFile file)
        {
            FileDetailVO detail = await _fileBusiness.SaveFileToDisk(file);

            return(new OkObjectResult(detail));
        }