Esempio n. 1
0
        public virtual void GetRemotePic()
        {
            string uri = ctx.Post("upfile");

            uri = uri.Replace("&", "&");
            string[] imgUrls = strUtil.Split(uri, "ue_separate_ue");

            string[] filetype = { ".gif", ".png", ".jpg", ".jpeg", ".bmp" };            //文件允许格式
            int      fileSize = 3000;                                                   //文件大小限制,单位kb

            ArrayList       tmpNames = new ArrayList();
            WebClient       wc       = new WebClient();
            HttpWebResponse res;
            String          tmpName     = String.Empty;
            String          imgUrl      = String.Empty;
            String          currentType = String.Empty;

            try {
                for (int i = 0, len = imgUrls.Length; i < len; i++)
                {
                    imgUrl = imgUrls[i];

                    if (imgUrl.Substring(0, 7) != "http://")
                    {
                        tmpNames.Add("error!");
                        continue;
                    }

                    //格式验证
                    int temp = imgUrl.LastIndexOf('.');
                    currentType = imgUrl.Substring(temp).ToLower();
                    if (Array.IndexOf(filetype, currentType) == -1)
                    {
                        tmpNames.Add("error!");
                        continue;
                    }

                    String imgPath = PageLoader.DownloadPic(imgUrl);
                    tmpNames.Add(imgPath);
                }
            }
            catch (Exception) {
                tmpNames.Add("error!");
            }
            finally {
                wc.Dispose();
            }

            echoJson("{url:'" + converToString(tmpNames) + "',tip:'远程图片抓取成功!',srcUrl:'" + uri + "'}");
        }