public override Image LoadImage(string url, HttpRequestParameters requestParameters = null, bool refreshImage = false) { MongoImage mongoImage = LoadMongoImage(url, requestParameters, refreshImage); if (mongoImage.Image == null) { LoadImage(mongoImage); } return(mongoImage.Image); }
protected MongoImage CreateMongoImage(string url, HttpRequestParameters requestParameters = null) { HttpRequest httpRequest = new HttpRequest { Url = url }; string file = _urlCache.GetUrlSubPath(httpRequest); string path = zPath.Combine(_urlCache.CacheDirectory, file); if (!zFile.Exists(path)) { HttpManager.CurrentHttpManager.LoadToFile(httpRequest, path, _urlCache.SaveRequest, requestParameters); } Image image = null; if (zFile.Exists(path)) { try { image = zimg.LoadBitmapFromFile(path); } catch (Exception exception) { Trace.WriteLine("error unable to load image url \"{0}\" to \"{1}\" (WebImageMongoCacheManager.CreateMongoImage())", url, path); Trace.Write("error : "); Trace.WriteLine(exception.Message); } } else { Trace.WriteLine("error unable to load image url \"{0}\" to \"{1}\" (WebImageMongoCacheManager.CreateMongoImage())", url, path); } MongoImage mongoImage = new MongoImage(); mongoImage.Url = url; mongoImage.File = file; mongoImage.Width = image != null ? image.Width : 0; mongoImage.Height = image != null ? image.Height : 0; mongoImage.Image = image; GetCollection().zUpdate(new QueryDocument { { "_id", BsonValue.Create(url) } }, new UpdateDocument { { "$set", mongoImage.ToBsonDocument() } }, UpdateFlags.Upsert); return(mongoImage); }
public MongoImage LoadMongoImage(string url, HttpRequestParameters requestParameters = null, bool refreshImage = false) { if (!refreshImage) { BsonDocument document = GetCollection().zFindOneById <BsonDocument>(BsonValue.Create(url)); if (document != null) { //return BsonSerializer.Deserialize<MongoImage>(document); MongoImage mongoImage = BsonSerializer.Deserialize <MongoImage>(document); if (mongoImage.Width != 0 && mongoImage.Height != 0) { return(mongoImage); } } } return(CreateMongoImage(url, requestParameters)); }
public void LoadImage(MongoImage mongoImage) { mongoImage.Image = zimg.LoadBitmapFromFile(zPath.Combine(_urlCache.CacheDirectory, mongoImage.File)); }