Пример #1
0
        public async Task Load(string currentPath, IFormFileCollection files)
        {
            foreach (var file in files)
            {
                var filename = ContentDispositionHeaderValue
                               .Parse(file.ContentDisposition)
                               .FileName
                               .Trim('"');
                var physicalPath = PhysicalBasePath + currentPath + filename;
                await FilesRepository.AddFile(new UserFile {
                    DateCreated  = DateTime.Now,
                    Length       = file.Length,
                    Name         = filename,
                    Path         = currentPath + filename,
                    PhysicalPath = physicalPath,
                    Href         = physicalPath,
                    Type         = UserFileType.File
                });

                using (var fileStream = new FileStream(physicalPath, FileMode.OpenOrCreate)) {
                    using (var fileReading = file.OpenReadStream()) {
                        var bytes = new byte[fileReading.Length];
                        await fileReading.ReadAsync(bytes, 0, bytes.Length);

                        await fileStream.WriteAsync(bytes, 0, bytes.Length);
                    }
                }
            }
        }
Пример #2
0
        public void AddFile(FileViewModel model)
        {
            var file = _autoMapper.Map <Files>(model);

            file.TaskId = file.task.id;
            file.task   = null;

            _filesRepo.AddFile(file);
        }
Пример #3
0
        async public Task SaveCover(int bookId, Stream stream)
        {
            var book = _booksRepository.GetBook(bookId);

            if (book == null)
            {
                throw new ArgumentException($"Book with id {bookId} not found!");
            }

            var file = new BookEditorDemo.Models.File();
            await _filesRepository.AddFile(file, stream);

            book.Cover = file;
            _booksRepository.UpdateBook(book);
        }
        public async Task <IActionResult> Post()
        {
            var listurls = new List <dynamic>();

            try
            {
                var files = HttpContext.Request.Form.Files;
                foreach (var file in files)
                {
                    if (file.Length > 0)
                    {
                        var userId = HttpContext.Request.Headers["UserId"];
                        var fileid = _filesRepository.AddFile(file.OpenReadStream(), file.FileName, file.ContentType, userId);
                        var item   = new
                        {
                            url         = _configurationRoot["UrlBase"] + "/" + userId + "/" + fileid + "/" + file.FileName,
                            contentType = file.ContentType
                        };
                        listurls.Add(item);
                    }
                }
            }
            catch (Exception e)
            {
                _logger.LogError("Ocorreu um erro ao carregar o arquivo." + e.Message);
                return(BadRequest());
            }

            var response = new
            {
                status = "success",
                files  = listurls
            };

            return(Ok(response));
        }