public IActionResult UploadFile([FromQuery] string directory)
        {
            var lang          = Request.Headers["language"].ToString();
            var errorMessages = new List <string>();

            try
            {
                var path = Path.Combine(_webHostEnvironment.WebRootPath, "appData", directory);
                var dir  = _directoryRepository.FindByPath(directory);

                foreach (var file in Request.Form.Files)
                {
                    if (file.Length > 0)
                    {
                        string originalFileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');

                        string fileName = $"_{DateTime.Now.ToString("yyyyMMddHHmmssffff")}"
                                          + Path.GetExtension(originalFileName);

                        string fullPath = Path.Combine(path, fileName);

                        using (var stream = new FileStream(fullPath, FileMode.Create))
                        {
                            file.CopyTo(stream);
                        }

                        //var serverUrl = "https://localhost:44383";
                        var serverUrl = "https://qasrawi.fr";


                        var newFile = new UploadedFile()
                        {
                            UploadDirectory  = dir,
                            DownloadPath     = Path.Combine(serverUrl, "appData", dir.Path, fileName).Replace("\\", "/"),
                            UploadDateTime   = DateTime.Now,
                            FileType         = Path.GetExtension(originalFileName),
                            OriginalFileName = originalFileName,
                            ModifiedFileName = fileName,
                            UploadPath       = Path.Combine(dir.Path, fileName)
                        };
                        var createdFile = _uploadedFileRepository.Create(newFile);
                    }
                }


                return(Ok(new { status = "File Uploaded" }));
            }
            catch
            {
                errorMessages.Add(_translator.GetTranslation("ERROR", lang));
                return(BadRequest(new { errors = errorMessages }));
            }
        }
Esempio n. 2
0
        public IActionResult GetDirectoryByPath([FromQuery] string path)
        {
            var lang          = Request.Headers["language"].ToString();
            var errorMessages = new List <string>();

            try
            {
                var dir = _directoryRepository.FindByPath(path);
                if (dir == null)
                {
                    return(NotFound());
                }

                return(Ok(new { directory = dir }));
            }
            catch
            {
                errorMessages.Add(_translator.GetTranslation("ERROR", lang));
                return(BadRequest(new { errors = errorMessages }));
            }
        }