public Zetbox.App.Base.Blob SetBlobStream(IZetboxContext ctx, Stream stream, string filename, string mimetype) { Zetbox.App.Base.Blob result = null; var handler = _memoryFactory.GetServerDocumentHandler(); var serverBlob = handler.SetBlobStream(ZetboxGeneratedVersionAttribute.Current, _backingStore, stream, filename, mimetype); BlobResponse resp = new BlobResponse(); resp.ID = serverBlob.ID; resp.BlobInstance = SendObjects(new IDataObject[] { serverBlob }, true); using (var sr = new ZetboxStreamReader(_map, new BinaryReader(resp.BlobInstance))) { result = ReceiveObjectList(ctx, sr).Cast <Zetbox.App.Base.Blob>().Single(); } return(result); }
public static void HandleBlobChange(ImportedFile obj, MethodReturnEventArgs <Zetbox.App.Base.Blob> e, Zetbox.App.Base.Blob oldBlob, Zetbox.App.Base.Blob newBlob) { if (oldBlob != null && newBlob != oldBlob) { throw new InvalidOperationException("Changing blob on imported files is not allowed"); } e.Result = newBlob; }