...
Code Block | ||||
---|---|---|---|---|
| ||||
class MyViewer : WebContentViewerBase { public override string[] ContentTypeKeys { get { return new string[] { "MyCustomContent:.pdf" }; } } public override bool StartView(CoreV1.GeodiEntry Entry, CoreV1.GeodiWorkspace Workspace, Dece.Net.HttpClient Client) { //Tüm kullanıcı etkileişmleri bu html içeriğindedir. GUI/ContentViewer üzerinde açık kod örnekleri mevcuttur. Client.Response.GUI.WriteHtmlPage("GUI/ContentViewer/MyViewer.html"); return true; } [WebMethod] public void MyDownloadWebMethod(HttpClient context, string wsName, int content_id) { Geodi.CoreV1.GeodiWorkspace ws = Geodi.CoreV1.GeodiWorkspacesManager.Default.TryGetWorkspace(wsName, true); IQueryableStroageManager qStorageManager = ws.StorageManagers.GetFirstQueryable(); IGeodiContent content = qStorageManager.GetContent(content_id); if (content.Enumarator!=null && HttpClient.AuthorizationRequired && !content.Enumarator.Permissions.HasPermission(context.GetCurrentLoginInfo(), "GEODI.ENUMERATOR_DOWNLOAD")) context.ThrowUnauthorizedAccess(true); //context.Response.ContentType = "image/jpeg"; //context.Response.Headers["Content-Length"] = data.Length.ToString(); //context.Response.FlushHeaders(); //content.GetStream().CopyTo(context.Response.OutputStream); ////context.Response.OutputStream.Write(data, 0, data.Length); //context.Response.OutputStream.Flush(); content.WriteToResponse(context); } } |
...