Exemple #1
0
        public async Task <IEnumerable <Upload> > UploadFile(HttpRequestMessage request)
        {
            var provider = new CustomMultipartFormDataProvider(AppConfig.GetUploadDirectory());
            var stream   = StreamProvider.GetStreamContent(request);
            await stream.ReadAsMultipartAsync(provider);


            var files   = new List <Upload>();
            var uploads = provider.FileData.Select(s => new Upload {
                Name        = s.Headers.ContentDisposition.FileName.Replace("\"", ""),
                ContentType = s.Headers.ContentType.MediaType.Replace("\"", ""),
                Path        = Path.GetDirectoryName(s.LocalFileName),
                CreateDate  = DateTime.Now
            });

            foreach (var u in uploads)
            {
                var upload = _context.Uploads.Add(u);
                var result = await _context.SaveChangesAsync();

                files.Add(upload);
            }

            return(files);
        }