Ejemplo n.º 1
0
        public int Create(RegisterFileDTO FileDto)
        {
            try
            {
                var file = new File();

                if (FileDto == null)
                {
                    return(0);
                }
                file.Name        = FileDto.Name;
                file.Type        = FileDto.Type;
                file.PublishDate = DateTime.Now;
                file.IsDelete    = false;
                file.Size        = Convert.ToDouble(FileDto.Size);
                file.Description = FileDto.Description;
                file.UserId      = FileDto.UserId;
                _fileRepository.Add(file);

                return(file.Id);
            }
            catch (RepositoryException re)
            {
                throw new ServiceException("Repository ex: " + re.Message);
            }
            catch (Exception ex)
            {
                throw new ServiceException(ex.Message);
            }
        }
Ejemplo n.º 2
0
        // POST api/<controller>
        public async Task <IHttpActionResult> Post()
        {
            if (!Request.Content.IsMimeMultipartContent())
            {
                return(Ok("Файлы не загружены"));
            }
            var provider = new MultipartMemoryStreamProvider();
            // путь к папке на сервере
            string root = System.Web.HttpContext.Current.Server.MapPath("~/uploadedFiles/");
            await Request.Content.ReadAsMultipartAsync(provider);

            var fileLength = 0;
            var filename   = "";

            foreach (var file in provider.Contents)
            {
                filename = file.Headers.ContentDisposition.FileName.Trim('\"');
                //var buffer = await file.ReadAsByteArrayAsync();
                byte[] fileArray = await file.ReadAsByteArrayAsync();

                fileLength = fileArray.Length;
                using (System.IO.FileStream fs = new System.IO.FileStream(root + filename, System.IO.FileMode.Create))
                {
                    await fs.WriteAsync(fileArray, 0, fileArray.Length);
                }
            }

            var fileDto = new RegisterFileDTO
            {
                Name        = filename,
                UserId      = CurrentUserId,
                Description = "Description",
                Size        = fileLength,
                Type        = "jpg"
            };

            _fileService.Create(fileDto);

            return(Ok("файлы загружены"));
        }