public bool TryFindBinary(string url, out IBinary binary) { //string encodedUrl = HttpUtility.UrlPathEncode(url); binary = null; return false; Query findBinary = new Query(); PublicationURLCriteria urlCriteria = new PublicationURLCriteria(url); MultimediaCriteria isBinary = new MultimediaCriteria(true); Com.Tridion.Broker.Querying.Criteria.Criteria allCriteria = Com.Tridion.Broker.Querying.CriteriaFactory.And(isBinary, isBinary); //Criteria allCriteria = CriteriaFactory.And(isBinary, urlCriteria); //Criteria allCriteria = urlCriteria; //findBinary.Criteria = allCriteria; string[] binaryUri = findBinary.ExecuteQuery(); if (binaryUri.Length == 0) { return false; } else { ComponentPresentation binaryComponent ; return true; } /* using (var sqlBinMetaHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome()) { Com.Tridion.Meta.BinaryMeta binaryMeta = sqlBinMetaHome.FindByURL(PublicationId, encodedUrl); // "/Images/anubis_pecunia160_tcm70-520973.jpg" if (binaryMeta != null) { using (var sqlBinaryHome = new Com.Tridion.Broker.Binaries.SQLBinaryHome()) { Com.Tridion.Data.BinaryData binData = sqlBinaryHome.FindByPrimaryKey(PublicationId, (int)binaryMeta.GetId()); if (binData != null) { binary = new Binary(this) { Url = url, LastPublishedDate = DateTime.Now, Multimedia = null, VariantId = binData.GetVariantId() }; return true; } } } return false; } */ }
public bool TryGetBinary(string tcmUri, out IBinary binary) { binary = new Binary(); if (LoadBinariesAsStream) { binary.BinaryStream = BinaryProvider.GetBinaryStreamByUri(tcmUri); if (binary.BinaryStream == null) return false; } else { binary.BinaryData = BinaryProvider.GetBinaryByUri(tcmUri); if (binary.BinaryData == null || binary.BinaryData.Length == 0) return false; } ((Binary)binary).Id = tcmUri; return true; }
public bool TryFindBinary(string url, out IBinary binary) { string encodedUrl = HttpUtility.UrlPathEncode(url); binary = null; //using (var sqlBinMetaHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome()) //{ // Com.Tridion.Meta.BinaryMeta binaryMeta = sqlBinMetaHome.FindByURL(PublicationId, encodedUrl); // "/Images/anubis_pecunia160_tcm70-520973.jpg" // if (binaryMeta != null) // { // using (var sqlBinaryHome = new Com.Tridion.Broker.Binaries.SQLBinaryHome()) // { // Com.Tridion.Data.BinaryData binData = sqlBinaryHome.FindByPrimaryKey(PublicationId, (int)binaryMeta.GetId()); // if (binData != null) // { // binary = new Binary(this) // { // Id = String.Format("tcm:{0}-{1}", binData.GetPublicationId(), binData.GetId()), // Url = url, // LastPublishedDate = DateTime.Now, // Multimedia = null, // VariantId = binData.GetVariantId() // }; // return true; // } // } // } // return false; //} Query binaryQuery = new Query(); ItemTypeCriteria isMultiMedia = new ItemTypeCriteria(32); PublicationCriteria inPub = new PublicationCriteria(PublicationId); Criteria allCriteria = CriteriaFactory.And(isMultiMedia, inPub); string[] results = binaryQuery.ExecuteQuery(); binary = null; return true; foreach (var item in results) { } }
public bool TryFindBinary(string url, out IBinary binary) { binary = new Binary(); if (LoadBinariesAsStream) { binary.BinaryStream = BinaryProvider.GetBinaryStreamByUrl(url); if (binary.BinaryStream == null) return false; } else { binary.BinaryData = BinaryProvider.GetBinaryByUrl(url); if (binary.BinaryData == null || binary.BinaryData.Length == 0) return false; } return true; }
public bool TryGetBinary(string tcmUri, out IBinary binary) { binary = new Binary(); if (LoadBinariesAsStream) { LoggerService.Information("retrieving binaries as a stream is obsolete; support will be dropped in future versions of DD4T"); binary.BinaryStream = BinaryProvider.GetBinaryStreamByUri(tcmUri); if (binary.BinaryStream == null) return false; } else { binary.BinaryData = BinaryProvider.GetBinaryByUri(tcmUri); if (binary.BinaryData == null || binary.BinaryData.Length == 0) return false; } ((Binary)binary).Id = tcmUri; return true; }
/// <summary> /// Initializes a new instance of the <see cref="IgniteClient"/> class. /// </summary> /// <param name="clientConfiguration">The client configuration.</param> public IgniteClient(IgniteClientConfiguration clientConfiguration) { Debug.Assert(clientConfiguration != null); _configuration = new IgniteClientConfiguration(clientConfiguration); _marsh = new Marshaller(_configuration.BinaryConfiguration) { Ignite = this }; _socket = new ClientFailoverSocket(_configuration, _marsh); _binProc = _configuration.BinaryProcessor ?? new BinaryProcessorClient(_socket); _binary = new Binary(_marsh); _cluster = new ClientCluster(this); _compute = new ComputeClient(this, ComputeClientFlags.None, TimeSpan.Zero, null); _services = new ServicesClient(this); }
public bool TryGetBinary(string tcmUri, out IBinary binary) { binary = new Binary(); if (LoadBinariesAsStream) { LoggerService.Information("retrieving binaries as a stream is obsolete; support will be dropped in future versions of DD4T"); binary.BinaryStream = BinaryProvider.GetBinaryStreamByUri(tcmUri); if (binary.BinaryStream == null) { return(false); } } else { binary.BinaryData = BinaryProvider.GetBinaryByUri(tcmUri); if (binary.BinaryData == null || binary.BinaryData.Length == 0) { return(false); } } ((Binary)binary).Id = tcmUri; return(true); }
public bool TryFindBinary(string url, out IBinary binary) { binary = new Binary(); if (LoadBinariesAsStream) { binary.BinaryStream = BinaryProvider.GetBinaryStreamByUrl(url); if (binary.BinaryStream == null) { return(false); } } else { binary.BinaryData = BinaryProvider.GetBinaryByUrl(url); if (binary.BinaryData == null || binary.BinaryData.Length == 0) { return(false); } } return(true); }
public IBinaryObjectBuilder ReadAsBinaryObject(string typeName, IBinary binary) { if (!_stream.CanRead) { return(null); } var read = _stream.Read(_buffer, 0, _buffer.Length); if (read < _buffer.Length) { // EOF return(null); } var result = binary.GetBuilder(typeName); foreach (var field in _recordDescriptor.Fields) { ReadField(result, field); } return(result); }
public SW1(IBinary responseApduTrailer) { _responseApduTrailer = responseApduTrailer; }
private void RemoveFromDB(IBinary binary) { using (var db = new BinariesEntities()) { var binData = db.Binaries .Where<Binaries>(bin => bin.Path.Equals(binary.Url)).FirstOrDefault(); if (binData != null) { db.Binaries.Remove(binData); db.SaveChanges(); } } }
private void CopyBinaryMetaToBinary(IBinaryMeta binaryMeta, IBinary binary) { ((Binary)binary).Id = binaryMeta.Id; ((Binary)binary).VariantId = binaryMeta.VariantId; ((Binary)binary).LastPublishedDate = binaryMeta.LastPublishedDate; }
public bool TryFindBinary(string url, out IBinary binary) { return(TryFindBinary(url, null, true, out binary)); }
private void WriteToDb(IBinary binary) { object fileLock = LockFile(binary.Url); using (var db = new BinariesEntities()) { lock (fileLock) { var binData = db.Binaries .Where(bin => bin.ComponentUri == binary.Id).FirstOrDefault(); if (binData == null) { binData = new Binaries(); db.Binaries.Add(binData); } binData.ComponentUri = binary.Id; binData.Path = binary.Url; binData.LastPublishedDate = binary.LastPublishedDate; binData.Content = binary.BinaryData; db.SaveChanges(); } } }
public CardSecurity(IBacReader bacReader) { _dgData = bacReader.DGData(_fid); }
public Le(IBinary commandApduBody) { _commandApduBody = commandApduBody; }
public static CreationResult Create( [NotNull] string filePath, int startPage = -1, int endPage = -1, int startIdx = -1, int endIdx = -1, int parentElementId = -1, int readPage = 0, Point readPoint = default(Point), ViewModes viewMode = PDFConst.DefaultViewMode, int pageMargin = PDFConst.DefaultPageMargin, float zoom = PDFConst.DefaultZoom, bool shouldDisplay = true) { IBinary binMem = null; try { var fileName = Path.GetFileName(filePath); var binMems = Svc.SMA.Registry.Binary.FindByName(new Regex(Regex.Escape(fileName) + ".*", RegexOptions.IgnoreCase)).ToList(); if (binMems.Any()) { var oriPdfFileInfo = new FileInfo(filePath); foreach (var itBinMem in binMems) { var smPdfFilePath = itBinMem.GetFilePath("pdf"); var smPdfFileInfo = new FileInfo(smPdfFilePath); if (smPdfFileInfo.Length != oriPdfFileInfo.Length) { continue; } binMem = itBinMem; break; } } if (binMem == null) { int binMemId = Svc.SMA.Registry.Binary.AddMember(filePath, fileName); if (binMemId < 0) { return(CreationResult.FailBinaryRegistryInsertionFailed); } binMem = Svc.SMA.Registry.Binary[binMemId]; } } catch (Exception ex) { LogTo.Error(ex, "Exception thrown while creating new PDF element"); return(CreationResult.FailUnknown); } return(Create(binMem, startPage, endPage, startIdx, endIdx, parentElementId, readPage, readPoint, viewMode, pageMargin, zoom, shouldDisplay)); }
public DO8E(IBinary computedCC) { _computedCc = computedCC; }
/// <summary> /// Perform actual write of binary content to file /// </summary> /// <param name="binaryMeta">BinaryMeta the binary meta to store</param> /// <param name="physicalPath">String the file path to write to</param> /// <returns></returns> private bool WriteBinaryToFile(IBinary binary, String physicalPath, Dimensions dimensions) { bool result = true; FileStream fileStream = null; try { lock (physicalPath) { if (File.Exists(physicalPath)) { fileStream = new FileStream(physicalPath, FileMode.Create); } else { FileInfo fileInfo = new FileInfo(physicalPath); if (!fileInfo.Directory.Exists) { fileInfo.Directory.Create(); } fileStream = File.Create(physicalPath); } byte[] buffer = binary.BinaryData; if (dimensions != null) buffer = ResizeImageFile(buffer, dimensions, GetImageFormat(physicalPath)); fileStream.Write(buffer, 0, buffer.Length); } } catch (Exception e) { LoggerService.Error("Exception occurred {0}\r\n{1}", e.Message, e.StackTrace); result = false; } finally { if (fileStream != null) { fileStream.Close(); } } return result; }
public BuildedDO97(IBinary rawCommandApdu) { _rawCommandApdu = rawCommandApdu; }
/// <summary> /// Perform actual write of binary content to file /// </summary> /// <param name="binary">The binary to store</param> /// <param name="physicalPath">String the file path to write to</param> /// <param name="dimensions">Dimensions of file</param> /// <returns>True is binary was written to disk, false otherwise</returns> private static bool WriteBinaryToFile(IBinary binary, String physicalPath, Dimensions dimensions) { using (new Tracer(binary, physicalPath, dimensions)) { bool result = true; try { if (!File.Exists(physicalPath)) { FileInfo fileInfo = new FileInfo(physicalPath); if (fileInfo.Directory != null && !fileInfo.Directory.Exists) { fileInfo.Directory.Create(); } } byte[] buffer = binary.BinaryData; if (dimensions != null && (dimensions.Width > 0 || dimensions.Height > 0)) { buffer = ResizeImage(buffer, dimensions, GetImageFormat(physicalPath)); } lock (NamedLocker.GetLock(physicalPath)) { using (FileStream fileStream = new FileStream(physicalPath, FileMode.Create, FileAccess.ReadWrite, FileShare.Read)) { fileStream.Write(buffer, 0, buffer.Length); } } } catch (IOException) { // file probabaly accessed by a different thread in a different process, locking failed Log.Warn("Cannot write to {0}. This can happen sporadically, let the next thread handle this.", physicalPath); result = false; } return result; } }
public CmdData(IBinary eIfd, IBinary mIfd) { _eIfd = eIfd; _mIfd = mIfd; }
public bool TryFindBinary(string url, out IBinary binary) { throw new NotImplementedException(); }
public static CreationResult Create( string filePath, int startPage = -1, int endPage = -1, int startIdx = -1, int endIdx = -1, int parentElementId = -1, int readPage = 0, Point readPoint = default, ViewModes viewMode = PDFConst.DefaultViewMode, int pageMargin = PDFConst.DefaultPageMargin, float zoom = PDFConst.DefaultZoom, bool shouldDisplay = true) { IBinary binMem = null; try { var fileName = Path.GetFileName(filePath); if (string.IsNullOrWhiteSpace(fileName)) { LogTo.Warning($"Path.GetFileName(filePath) returned null for filePath '{filePath}'."); return(CreationResult.FailUnknown); } var binMems = Svc.SM.Registry.Binary.FindByName( new Regex(Regex.Escape(fileName) + ".*", RegexOptions.IgnoreCase)).ToList(); if (binMems.Any()) { var oriPdfFileInfo = new FileInfo(filePath); if (oriPdfFileInfo.Exists == false) { LogTo.Warning($"New PDF file '{filePath}' doesn't exist."); return(CreationResult.FailUnknown); } foreach (var itBinMem in binMems) { var smPdfFilePath = itBinMem.GetFilePath("pdf"); var smPdfFileInfo = new FileInfo(smPdfFilePath); if (smPdfFileInfo.Exists == false) { LogTo.Warning($"PDF file '{smPdfFilePath}' associated with Binary member id {itBinMem.Id} is missing."); continue; } try { if (smPdfFileInfo.Length != oriPdfFileInfo.Length) { continue; } } catch (FileNotFoundException ex) { LogTo.Warning(ex, "PDF file '{SmPdfFilePath}' or '{FilePath}' has gone missing. Weird.", smPdfFilePath, filePath); continue; } binMem = itBinMem; break; } } if (binMem == null) { int binMemId = Svc.SM.Registry.Binary.Add(filePath, fileName); if (binMemId < 0) { return(CreationResult.FailBinaryRegistryInsertionFailed); } binMem = Svc.SM.Registry.Binary[binMemId]; } } catch (RemotingException) { return(CreationResult.FailUnknown); } catch (Exception ex) { LogTo.Error(ex, "Exception thrown while creating new PDF element"); return(CreationResult.FailUnknown); } return(Create(binMem, startPage, endPage, startIdx, endIdx, parentElementId, readPage, readPoint, viewMode, pageMargin, zoom, shouldDisplay)); }
public bool TryGetBinary(string tcmUri, out IBinary binary) { throw new NotImplementedException(); }
public ExtractedDO87(IBinary protectedResponseApdu) { _protectedResponseApdu = protectedResponseApdu; }
public INS(IBinary commandApduHeader) { _commandApduHeader = commandApduHeader; }
/// <summary> /// Initializes a new instance of the <see cref="TestIgniteService"/> class. /// </summary> /// <param name="binary">Binary.</param> public TestIgniteService(IBinary binary) { _binary = binary; }
private bool TryFindBinary(string url, string localPath, bool retrieveData, out IBinary binary) { string physicalPath = localPath ?? Path.Combine(Configuration.BinaryFileSystemCachePath, Path.GetFileName(url)); LoggerService.Debug($"Using physical path {physicalPath}"); binary = new Binary(); Dimensions dimensions = null; string urlWithoutDimensions = StripDimensions(url, out dimensions); if (LoadBinariesAsStream) { LoggerService.Information("retrieving binaries as a stream is obsolete; support will be dropped in future versions of DD4T"); binary.BinaryStream = BinaryProvider.GetBinaryStreamByUrl(urlWithoutDimensions); if (binary.BinaryStream == null) { return(false); } } string cacheKey = CacheKeyFactory.GenerateKey(urlWithoutDimensions); try { IBinaryMeta binaryMeta = CacheAgent.Load(cacheKey) as IBinaryMeta; bool metaWasInCache = true; if (binaryMeta == null) { metaWasInCache = false; binaryMeta = BinaryProvider.GetBinaryMetaByUrl(urlWithoutDimensions); if (binaryMeta == null) { throw new BinaryNotFoundException(); } CacheAgent.Store(cacheKey, "Binary", binaryMeta, new List <string> { binaryMeta.Id }); } if (FileExistsAndIsNotEmpty(physicalPath)) { if (binaryMeta.HasLastPublishedDate || metaWasInCache) { DateTime fileModifiedDate = File.GetLastWriteTime(physicalPath); if (fileModifiedDate.CompareTo(binaryMeta.LastPublishedDate) >= 0) { LoggerService.Debug("binary {0} is still up to date, no action required", urlWithoutDimensions); // TODO: load bytes from file system into binary if (retrieveData) { FillBinaryFromLocalFS(binary, physicalPath); } CopyBinaryMetaToBinary(binaryMeta, binary); return(true); } } } // the normal situation (where a binary is still in Tridion and it is present on the file system already and it is up to date) is now covered // Let's handle the exception situations. byte[] bytes = BinaryProvider.GetBinaryByUrl(urlWithoutDimensions); if (bytes == null || bytes.Length == 0) { throw new BinaryNotFoundException(); } bool fileIsCreated = WriteBinaryToFile(bytes, physicalPath, dimensions); if (!fileIsCreated) { LoggerService.Warning($"file '{physicalPath}' could not be created, binary {binary.Id} cannot be returned"); return(false); } if (retrieveData) { if (dimensions == null) { binary.BinaryData = bytes; } else { FillBinaryFromLocalFS(binary, physicalPath); } } CopyBinaryMetaToBinary(binaryMeta, binary); return(true); } catch (BinaryNotFoundException) { LoggerService.Debug("Binary with url {0} not found", urlWithoutDimensions); // binary does not exist in Tridion, it should be removed from the local file system too DeleteFile(physicalPath); return(false); } catch (Exception e) { LoggerService.Warning($"Caught unexpected exception while retrieving binary with url {urlWithoutDimensions} (requested url: {url}. Error message: {e.Message}\r\n{e.StackTrace}"); // in case of error, the binary should be removed from the local file system too DeleteFile(physicalPath); throw e; } }
public DGDataView(IBinary dgData) { _berTLV = new BerTLV(dgData); }
private void FillBinaryFromLocalFS(IBinary binary, string physicalPath) { binary.BinaryData = File.ReadAllBytes(physicalPath); }
public ConstructedTLV(IBinary constructedTLV) { _constructedTLV = constructedTLV; _cachedFirstExistingTLV = new BerTLV(_constructedTLV); }
public void ProcessRequest(HttpContext context) { IBinary binary = null; string url = context.Request.Path; Cache cache = HttpContext.Current.Cache; if (cache[url] != null) { binary = (IBinary)cache[url]; } else { binary = BinaryFactory.FindBinary(context.Request.Path); int cacheSetting = Convert.ToInt32(ConfigurationManager.AppSettings[BinaryHandlerCachingKey]); cache.Insert(url, binary, null, DateTime.Now.AddSeconds(cacheSetting), TimeSpan.Zero); } string etagDate = "\"" + binary.LastPublishedDate.ToString("s", DateTimeFormatInfo.InvariantInfo) + "\""; string incomingEtag = context.Request.Headers["If-None-Match"]; context.Response.Cache.SetETag(etagDate); context.Response.Cache.SetCacheability(HttpCacheability.Public); if (etagDate.Equals(incomingEtag)) { context.Response.StatusCode = 304; return; } var localPath = ConvertUrl(context.Request.Path, context); if (binary == null) { // there appears to be no binary present in Tridion // now we must check if there is still an (old) cached copy on the local file system object fileLock = LockFile(binary.Url); lock (fileLock) { RemoveFromDB(binary); lock (locks) { locks.Remove(binary.Url); } } // that's all for us, the file is not on the FS, so // the default FileHandler will cause a 404 exception context.Response.StatusCode = 404; context.Response.End(); return; } using (var db = new BinariesEntities()) { bool exists = false; var binData = db.Binaries.Where(bin => bin.ComponentUri == binary.Id).FirstOrDefault(); TimeSpan ts = TimeSpan.Zero; if (binData != null) { ts = binary.LastPublishedDate.Subtract(binData.LastPublishedDate); exists = true; } if (!exists || ts.TotalMilliseconds > 0) { WriteToDb(binary); } } FillResponse(context.Response, binary); }
public bool TryGetBinary(string tcmUri, out IBinary binary) { binary = null; //using (var uri = new Com.Tridion.Util.TCMURI(tcmUri)) //{ // using (var sqlBinHome = new Com.Tridion.Broker.Binaries.SQLBinaryHome()) // { // var binData = sqlBinHome.FindByPrimaryKey(uri.GetPublicationId(), uri.GetItemId()); // using (var sqlBinMetaHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome()) // { // using (Com.Tridion.Util.TCDURI tcdUri = new Com.Tridion.Util.TCDURI(uri)) // { // Com.Tridion.Meta.BinaryMeta binaryMeta = sqlBinMetaHome.FindByPrimaryKey(tcdUri); // if (binData != null) // { // binary = new Binary(this) // { // Url = binaryMeta.GetURLPath(), // LastPublishedDate = DateTime.Now, // Multimedia = null, // VariantId = binData.GetVariantId() // }; // return true; // } // } // } // } //} return false; }
public static CreationResult Create( IBinary binMem, int startPage = -1, int endPage = -1, int startIdx = -1, int endIdx = -1, int parentElementId = -1, int readPage = 0, Point readPoint = default, ViewModes viewMode = PDFConst.DefaultViewMode, int pageMargin = PDFConst.DefaultPageMargin, float zoom = PDFConst.DefaultZoom, bool shouldDisplay = true, string subtitle = null) { PDFElement pdfEl; string title; string author; string creationDate; string filePath; try { filePath = binMem.GetFilePath("pdf"); if (File.Exists(filePath) == false) { return(CreationResult.FailBinaryMemberFileMissing); } pdfEl = new PDFElement { BinaryMemberId = binMem.Id, FilePath = filePath, StartPage = startPage, EndPage = endPage, StartIndex = startIdx, EndIndex = endIdx, ReadPage = readPage, ReadPoint = readPoint, ViewMode = viewMode, PageMargin = pageMargin, Zoom = zoom, }; pdfEl.GetInfos(out string pdfTitle, out author, out creationDate); title = pdfEl.ConfigureTitle(pdfTitle, subtitle); } catch (Exception ex) { LogTo.Error(ex, "Exception thrown while creating new PDF element"); return(CreationResult.FailUnknown); } string elementHtml = string.Format(CultureInfo.InvariantCulture, PDFConst.ElementFormat, title, binMem.Name, pdfEl.GetJsonB64()); IElement parentElement = parentElementId > 0 ? Svc.SM.Registry.Element[parentElementId] : null; var elemBuilder = new ElementBuilder(ElementType.Topic, elementHtml) .WithParent(parentElement) .WithTitle(subtitle ?? title) .WithPriority(PDFState.Instance.Config.PDFExtractPriority) .WithReference( r => r.WithTitle(title) .WithAuthor(author) .WithDate(creationDate) .WithSource("PDF") .WithLink("..\\" + Svc.SM.Collection.MakeRelative(filePath)) ); if (shouldDisplay == false) { elemBuilder = elemBuilder.DoNotDisplay(); } return(Svc.SM.Registry.Element.Add(out _, ElemCreationFlags.CreateSubfolders, elemBuilder) ? CreationResult.Ok : CreationResult.FailCannotCreateElement); }
public Kb(IBinary kKey) { _kKey = kKey; }
public Kic(IBinary r) { _r = r; }
public Eifd(IBinary s, IBinary kEnc) { _s = s; _kEnc = kEnc; }
/// <summary> /// Initializes a new instance of the <see cref="ServiceProxyTest"/> class. /// </summary> public ServiceProxyTest() { Binary = new Binary(_marsh); }
private readonly int _responseApduTrailerLength = 2; // len(SW1) + len(SW2) = 2 bytes public ResponseApduData(IBinary executedCommandApdu) { _executedCommandApdu = executedCommandApdu; }
public DG1(IBacReader bacReader) { _dgData = bacReader.DGData(_fid); }
public static void Add(IBinary b) { data.AddC(b); }
public bool TryGetBinary(string tcmUri, out IBinary binary) { binary = null; Query findBinary = new Query(); MultimediaCriteria isBinary = new MultimediaCriteria(true); return false; /* using (var uri = new Com.Tridion.Util.TCMURI(tcmUri)) { using (var sqlBinHome = new Com.Tridion.Broker.Binaries.SQLBinaryHome()) { var binData = sqlBinHome.FindByPrimaryKey(uri.GetPublicationId(), uri.GetItemId()); var sqlBinMetaHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome(); Com.Tridion.Util.TCDURI tcdUri = new Com.Tridion.Util.TCDURI(uri); Com.Tridion.Meta.BinaryMeta binaryMeta = sqlBinMetaHome.FindByPrimaryKey(tcdUri); if (binData != null) { binary = new Binary(this) { Url = binaryMeta.GetURLPath(), LastPublishedDate = DateTime.Now, Multimedia = null, VariantId = binData.GetVariantId() }; return true; } } } */ }
private void FillResponse(HttpResponse response, IBinary binary) { response.Clear(); byte[] imageData = null; using (var db = new BinariesEntities()) { var binData = db.Binaries.Where(bin => bin.ComponentUri == binary.Id).FirstOrDefault(); if (binData != null) { imageData = binData.Content; response.ContentType = GetContentType(binData.Path); response.Cache.SetLastModified(binData.LastPublishedDate); } } response.BinaryWrite(imageData); }