Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagec#
titleViewer örneği
 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);
        }


    }

...