public void UploadImage(ImageFileData uploading_image) { Log("UploadImage"); try { if (string.IsNullOrEmpty(uploading_image.FileName)) { throw new ArgumentException("Invalid upldoading file name", uploading_image.FileName); } if (uploading_image.ImageData == null || uploading_image.ImageData.Length == 0) { throw new ArgumentException("Uploaded file-data is empty!"); } string newImageFileName = uploading_image.FileName; string uploadFolder = ConfigurationManager.AppSettings["UploadFolder"]; string newImageFilePath = Path.Combine(uploadFolder, newImageFileName); if (File.Exists(newImageFilePath)) { throw new FaultException <FileAlreadyExists>(new FileAlreadyExists { FileName = newImageFileName }, new FaultReason(string.Empty)); } using (Stream targetStream = new FileStream(newImageFilePath, FileMode.OpenOrCreate, FileAccess.Write)) { targetStream.Write(uploading_image.ImageData, 0, uploading_image.ImageData.Length); } } catch (FaultException e) { throw e; } catch (Exception) { HostStorageException fault = new HostStorageException(); fault.Description = "Prodlems with images storage on host"; throw new FaultException <HostStorageException>(fault, new FaultReason(fault.Description)); } }
public ImageFileData GetImageByName(string request_file_name) { Log("GetImageByName"); try { if (string.IsNullOrEmpty(request_file_name)) { throw new FaultException <InvalidFileName>(new InvalidFileName { InvalidName = request_file_name }, new FaultReason(string.Empty)); } IEnumerable <FileInfo> allImageFilesList = GetAllImageFiles(); FileInfo requestedImageFile = null; requestedImageFile = allImageFilesList.SingleOrDefault(f => f.Name == request_file_name); if (requestedImageFile == null) { throw new FaultException <FileNotFound>(new FileNotFound { FileName = request_file_name }, new FaultReason(string.Empty)); } ImageFileData imageFileData = new ImageFileData() { FileName = requestedImageFile.Name, LastDateModified = requestedImageFile.LastWriteTime }; byte[] imageBytes = File.ReadAllBytes(requestedImageFile.FullName); imageFileData.ImageData = imageBytes; return(imageFileData); } catch (FaultException e) { throw e; } catch (Exception e) { HostStorageException fault = new HostStorageException(); fault.Description = "Prodlems with images storage on host"; throw new FaultException <HostStorageException>(fault, new FaultReason(string.Empty)); } }
public IEnumerable <ImageFileData> GetAllImagesList(bool withFilesData) { Log("GetAllImagesList"); List <ImageFileData> images_collection = new List <ImageFileData>(); try { IEnumerable <FileInfo> allImageFiles = GetAllImageFiles(); if (allImageFiles == null) { return(null); } foreach (FileInfo fileInfo in allImageFiles) { ImageFileData imageFileData = new ImageFileData() { FileName = fileInfo.Name, LastDateModified = fileInfo.LastWriteTime }; byte[] imageBytes = null; if (withFilesData) { imageBytes = File.ReadAllBytes(fileInfo.FullName); } imageFileData.ImageData = imageBytes; images_collection.Add(imageFileData); } } catch (Exception) { HostStorageException fault = new HostStorageException(); fault.Description = "Prodlems with images storage on host"; throw new FaultException <HostStorageException>(fault, new FaultReason(string.Empty)); } return(images_collection); }