Пример #1
0
        /// <summary>
        ///   Add a photo
        /// </summary>
        /// <returns></returns>
        public async Task <IHttpActionResult> Add(string subDirectory)
        {
            // Check if the request contains multipart/form-data.
            if (!Request.Content.IsMimeMultipartContent("form-data"))
            {
                return(BadRequest("Unsupported media type"));
            }
            try
            {
                var provider = new CustomMultipartFormDataStreamProvider(workingFolder + @"\" + subDirectory);
                //await Request.Content.ReadAsMultipartAsync(provider);
                await Task.Run(async() => await Request.Content.ReadAsMultipartAsync(provider));

                var photos = new List <PhotoViewModel>();

                foreach (var file in provider.FileData)
                {
                    var fileInfo = new FileInfo(file.LocalFileName);

                    photos.Add(new PhotoViewModel
                    {
                        Name     = fileInfo.Name,
                        Created  = fileInfo.CreationTime,
                        Modified = fileInfo.LastWriteTime,
                        Size     = fileInfo.Length / 1024
                    });
                }
                return(Ok(new { Message = "Photos uploaded ok", Photos = photos }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.GetBaseException().Message));
            }
        }
        /// <summary>
        /// Add a photo
        /// </summary>
        /// <returns></returns>
        public async Task <IHttpActionResult> Add()
        {
            // Check if the request contains multipart/form-data.
            if (!Request.Content.IsMimeMultipartContent("form-data"))
            {
                return(BadRequest("Unsupported media type"));
            }
            try
            {
                var provider = new CustomMultipartFormDataStreamProvider(workingFolder);

                await Request.Content.ReadAsMultipartAsync(provider);

                var photos = provider.FileData.Select(file => new FileInfo(file.LocalFileName)).Select(fileInfo => new PhotoViewModel
                {
                    Name     = fileInfo.Name,
                    Created  = fileInfo.CreationTime,
                    Modified = fileInfo.LastWriteTime,
                    Size     = fileInfo.Length / 1024
                }).ToList();
                return(Ok(new { Message = "Photos uploaded ok", Photos = photos }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.GetBaseException().Message));
            }
        }
        /// <summary>
        ///   Add a photo
        /// </summary>
        /// <returns></returns>
        public async Task <IHttpActionResult> Add()
        {
            if (!Request.Content.IsMimeMultipartContent("form-data"))
            {
                return(BadRequest("Unsupported media type"));
            }

            try
            {
                var provider = new CustomMultipartFormDataStreamProvider(workingFolder);
                await Task.Run(async() => await Request.Content.ReadAsMultipartAsync(provider));

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.GetBaseException().Message));
            }
        }