public FileReference GetFile(FileStorageArea StorageArea, string FileHandle) { var fileDir = new DirectoryInfo(Path.Combine(BasePath, FileHandle.ToString())); string contentType = string.Empty; string filename = null; long fileLength = 0; bool thumbnailFound = false; foreach (var fileInfo in fileDir.GetFiles()) { if (fileInfo.Name == "_metadata.xml") { contentType = XElement.Load(fileInfo.FullName).Element("contentType").Value; } else if (!fileInfo.Name.StartsWith("_thumbnail")) { filename = fileInfo.Name; fileLength = fileInfo.Length; } else { thumbnailFound = true; } } return(new FileReference(StorageArea, filename, fileLength, FileHandle, contentType) { HasThumbnail = thumbnailFound }); }
public FileReference Store(FileStorageArea StorageArea, string Name, string ContentType, System.IO.Stream Stream) { Guid fileHandle; long Size; StoreFile(Name, ContentType, Stream, out fileHandle, out Size); return(FileReference.FromNewFile(StorageArea, Name, Size, fileHandle.ToString(), ContentType)); }
public Stream GetContentStream(FileStorageArea StorageArea, string FileHandle) { var fileDir = new DirectoryInfo(Path.Combine(BasePath, FileHandle.ToString())); foreach (var fileInfo in fileDir.GetFiles()) { if (fileInfo.Name != "_metadata.xml" && !fileInfo.Name.StartsWith("_thumbnail")) { return(fileInfo.OpenRead()); } } return(null); }
public FileReference Store(FileStorageArea fileStorageArea, FileReference fileRef) { using (var stream = fileRef.GetContentStream()) { Guid fileHandle; long Size; StoreFile(fileRef.Name, fileRef.ContentType, stream, out fileHandle, out Size); var fileRef2 = new FileReference(fileStorageArea, fileRef.Name, Size, fileHandle.ToString(), fileRef.ContentType); fileRef2.HasThumbnail = fileRef.HasThumbnail; return(fileRef2); } }