public TaskRunner CreateUpdateTaskRunner(CloudBlob blob, FileInformation fileInfo) { this._statistics.UpdatedCount++; if (fileInfo.SizeInBytes > CloudBlobConstants.FileSizeThresholdInBytes) { return new UploadLargeFileTaskRunner(_messageBus, _fileSystem, fileInfo, blob); } else { return new SingleActionTaskRunner(() => { _messageBus.Publish(new FileProgressedMessage(fileInfo.FullPath, 0)); blob.UploadFile(fileInfo); _messageBus.Publish(new FileProgressedMessage(fileInfo.FullPath, 1)); }); } }
private void UploadFile(string filename, CloudBlob blob) { var extension = Path.GetExtension(filename).ToLower(); if (extension == ".cxml") { // cache CXML for 30 minutes blob.Properties.CacheControl = "max-age=1800"; } else { // cache everything else (images) for 2 hours blob.Properties.CacheControl = "max-age=7200"; } switch (extension) { case ".xml": case ".cxml": case ".dzc": blob.Properties.ContentType = "application/xml"; break; case ".jpg": blob.Properties.ContentType = "image/jpeg"; break; } blob.UploadFile(filename); }