private bool TryGetCacheImageStream(string id, string imageUrl, out Stream outImageStream) { id = $"$/{id}"; if (_fileStorage.Exists(id)) { var file = _fileStorage.FindById(id); var stream = new MemoryStream((int)file.Length); try { file.CopyTo(stream); stream.Seek(0, SeekOrigin.Begin); _fileStorage.SetMetadata(id, new BsonDocument(new Dictionary <string, BsonValue>() { { "updateAt", DateTime.Now } })); outImageStream = stream; return(true); } catch { stream.Dispose(); throw; } } else { outImageStream = null; return(false); } }
public void Execute(LiteEngine engine, StringScanner s, Display display, InputCommand input, Env env) { var fs = new LiteStorage(engine); var id = this.ReadId(s); var metadata = JsonSerializer.Deserialize(s.ToString()).AsDocument; fs.SetMetadata(id, metadata); }
public IEnumerable <BsonValue> Execute(StringScanner s, LiteEngine engine) { var fs = new LiteStorage(engine); var id = this.ReadId(s); var metadata = JsonSerializer.Deserialize(s.ToString()).AsDocument; s.ThrowIfNotFinish(); fs.SetMetadata(id, metadata); yield break; }
private static void UploadFileAndSetMetadata(DateTime absoluteExpiration, MemoryStream imageStream, LiteStorage fileStorage, string id) { imageStream.Position = 0; var fileInfo = fileStorage.Upload(id, null, imageStream); fileStorage.SetMetadata( fileInfo.Id, new BsonDocument(new Dictionary <string, BsonValue> { { "Expires", absoluteExpiration } })); imageStream.Position = 0; }