Beispiel #1
0
        public PcsView(WPcs wPcs, MPcs mPcs, PcsClient pcsClient, UserModel userModel, DataModel dataModel)
        {
            _WPcs = wPcs;
            MPcs = mPcs;
            _UserModel = userModel;
            _DataModel = dataModel;
            _PcsClient = pcsClient;

            InitializeComponent();
        }
Beispiel #2
0
        /// <summary>
        /// 加载文本
        /// </summary>
        /// <param name="context"></param>
        /// <param name="code"></param>
        private bool LoadTxt(HttpContext context, PcsClient client, string file)
        {
            var response = context.Response;
            response.ContentType = "text/html";

            var pcsRequest = client.Download(ROOT + file);

            HttpWebResponse pcsResponse = null;
            StreamReader pcsReader = null;
            try
            {
                pcsResponse = pcsRequest.GetResponse() as HttpWebResponse;
                long size = pcsResponse.ContentLength;
                if (size > -1)
                {
                    if (size > 2097152)
                    {
                        response.Write("您要查看的文件过大!");
                        return true;
                    }

                    StringBuilder builder = new StringBuilder((int)size + 1024);
                    builder.Append("<!DOCTYPE>");
                    builder.Append("<html>");
                    builder.Append("<head>");
                    //builder.Append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=").Append(pcsResponse.ContentEncoding).Append("\" />");
                    builder.Append("<title>文本文档</title>");
                    builder.Append("<style type=\"text/css\">body{background: #fff;color: #000;font-size: 12px;font-family: 宋体, 新宋体, 微软雅黑, \"Helvetica Neue\" , \"Lucida Grande\" , \"Segoe UI\" , Arial, Helvetica, Verdana, sans-serif;}</style>");
                    builder.Append("</head>");
                    builder.Append("<body>");
                    builder.Append("<pre>");
                    pcsReader = new StreamReader(pcsResponse.GetResponseStream());

                    int cnt;
                    char[] buf = new char[10240];
                    cnt = pcsReader.Read(buf, 0, buf.Length);
                    while (cnt > 0)
                    {
                        DoPrint(builder, buf, cnt);
                        cnt = pcsReader.Read(buf, 0, buf.Length);
                    }

                    builder.Append("</pre>");
                    builder.Append("</body>");
                    builder.Append("</html>");

                    response.Write(builder.ToString());
                }
                return true;
            }
            catch (Exception)
            {
                //response.Write(exp.Message);
                return false;
            }
            finally
            {
                if (pcsReader != null)
                {
                    pcsReader.Close();
                }
                if (pcsResponse != null)
                {
                    pcsResponse.Close();
                }
            }
        }
Beispiel #3
0
        private void LoadSub(StringBuilder buffer, PcsClient client, string path, string root, bool open)
        {
            var metas = client.ListMeta(path);
            SortCat(metas);

            int id = 0;
            foreach (var meta in metas)
            {
                if (meta.GetMetaName().ToLower() == "amon.me")
                {
                    continue;
                }

                id += 1;

                path = meta.GetMeta();
                if (path != null)
                {
                    buffer.Append(",{");
                    buffer.Append("id:'").Append(root).Append('-').Append(id).Append("',");
                    buffer.Append("pId:'").Append(root).Append("',");
                    buffer.Append("name:'").Append(meta.GetMetaName()).Append("',");
                    if (meta.GetMetaType() == AMeta.META_TYPE_FOLDER)
                    {
                        buffer.Append("isParent:true, open:").Append(open ? "true" : "false");
                    }
                    else
                    {
                        buffer.Append("v:'").Append(path.Substring(ROOT.Length)).Append("'");
                    }
                    buffer.Append("}");
                }
                if (meta.GetMetaType() == AMeta.META_TYPE_FOLDER)
                {
                    LoadSub(buffer, client, meta.GetMeta(), root + "-" + id, false);
                }
            }
        }
Beispiel #4
0
        /// <summary>
        /// 加载网志
        /// </summary>
        /// <returns></returns>
        private bool LoadObj(HttpContext context, PcsClient client, string file, string type)
        {
            var response = context.Response;
            response.ContentType = type;

            var pcsRequest = client.Download(ROOT + file);

            HttpWebResponse pcsResponse = null;
            StreamReader pcsReader = null;
            try
            {
                pcsResponse = pcsRequest.GetResponse() as HttpWebResponse;
                long size = pcsResponse.ContentLength;
                if (size > -1)
                {
                    pcsReader = new StreamReader(pcsResponse.GetResponseStream());

                    int cnt;
                    char[] buf = new char[10240];
                    cnt = pcsReader.Read(buf, 0, buf.Length);
                    while (cnt > 0)
                    {
                        response.Write(buf, 0, cnt);
                        cnt = pcsReader.Read(buf, 0, buf.Length);
                    }
                }
                return true;
            }
            catch (Exception)
            {
                //response.Write(exp.Message);
                return false;
            }
            finally
            {
                if (pcsReader != null)
                {
                    pcsReader.Close();
                }
                if (pcsResponse != null)
                {
                    pcsResponse.Close();
                }
            }
        }
Beispiel #5
0
        /// <summary>
        /// 加载用户配置文件
        /// </summary>
        /// <param name="context"></param>
        /// <param name="code"></param>
        private string LoadCfg(HttpContext context, PcsClient client)
        {
            var pcsRequest = client.Download(ROOT + "/Page.Me");

            HttpWebResponse pcsResponse = null;
            try
            {
                string page = "";
                pcsResponse = pcsRequest.GetResponse() as HttpWebResponse;
                if (pcsResponse.ContentLength > -1)
                {
                    XmlDocument xmlReader = new XmlDocument();
                    xmlReader.Load(pcsResponse.GetResponseStream());
                    var node = xmlReader.SelectSingleNode("/Amon");
                    if (node == null || node.Attributes["Ver"].InnerText != "1")
                    {
                        return page;
                    }
                    node = node.SelectSingleNode("Page");
                    if (node == null)
                    {
                        return page;
                    }
                    page = node.Attributes["Default"].InnerText;
                }
                return page;
            }
            catch (Exception)
            {
                return "";
            }
            finally
            {
                if (pcsResponse != null)
                {
                    pcsResponse.Close();
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// 加载目录信息
        /// </summary>
        /// <param name="response"></param>
        private void LoadCat(HttpResponse response, PcsClient client)
        {
            response.ContentType = "text/javascript";

            StringBuilder buffer = new StringBuilder();
            buffer.Append("[{id:'0', pId:'0', name:'" + Web.PAGE_NAME + "', isParent:true, open:true}");
            LoadSub(buffer, client, ROOT, "0", false);
            buffer.Append("];");
            response.Write(buffer.ToString());
        }
Beispiel #7
0
        private bool LoadImg(HttpContext context, PcsClient client, string file, string ext)
        {
            var webResponse = context.Response;
            webResponse.ContentType = "image/" + ext;

            var pcsRequest = client.Download(ROOT + file);

            HttpWebResponse pcsResponse = null;
            Stream pcsStream = null;
            Stream webStream = null;
            try
            {
                pcsResponse = pcsRequest.GetResponse() as HttpWebResponse;
                long size = pcsResponse.ContentLength;
                if (size > -1)
                {
                    if (size > 2097152)
                    {
                        webResponse.Write("您要查看的文件过大!");
                        return true;
                    }

                    webStream = webResponse.OutputStream;
                    pcsStream = pcsResponse.GetResponseStream();
                    byte[] buf = new byte[4096];
                    int len = pcsStream.Read(buf, 0, buf.Length);
                    while (len > 0)
                    {
                        webStream.Write(buf, 0, len);
                        len = pcsStream.Read(buf, 0, buf.Length);
                    }
                }
                return true;
            }
            catch (Exception)
            {
                //response.Write(exp.Message);
                return false;
            }
            finally
            {
                if (webStream != null)
                {
                    webStream.Close();
                }
                if (pcsStream != null)
                {
                    pcsStream.Close();
                }
                if (pcsResponse != null)
                {
                    pcsResponse.Close();
                }
            }
        }