public FileSystemBlobWriter( BlobId blobId, FileNameWithExtension fileName, String destinationFileName, IFileSystemBlobDescriptorStorage fileSystemBlobDescriptorStorage, ILogger logger) { BlobId = blobId; FileName = fileName; _logger = logger; _descriptor = new FileSystemBlobDescriptor() { BlobId = BlobId, FileNameWithExtension = FileName, Timestamp = DateTime.Now, ContentType = MimeTypes.GetMimeType(FileName) }; //Create a wrapper of the stream var originalStream = new FileStream(destinationFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); originalStream.SetLength(0); _writableStream = new FileSystemBlobStoreWritableStream(originalStream, this); _writableStream.StreamClosed += WritableStreamClosed; _fileSystemBlobDescriptorStorage = fileSystemBlobDescriptorStorage; }
public FileSystemBlobWriter( BlobId blobId, FileNameWithExtension fileName, String destinationFileName, IMongoCollection <FileSystemBlobDescriptor> blobDescriptorCollection, ILogger logger) { BlobId = blobId; FileName = fileName; _blobDescriptorCollection = blobDescriptorCollection; _logger = logger; _descriptor = new FileSystemBlobDescriptor() { BlobId = BlobId, FileNameWithExtension = FileName, Timestamp = DateTime.Now, ContentType = MimeTypes.GetMimeType(FileName) }; _destinationFileName = destinationFileName; _blobDescriptorCollection.Save(_descriptor, _descriptor.BlobId); //Create a wrapper of the stream var originalStream = new FileStream(destinationFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); originalStream.SetLength(0); _writableStream = new FileSystemBlobStoreWritableStream(originalStream, _descriptor, _blobDescriptorCollection, this); }