Beispiel #1
0
        /// <summary>
        /// 添加图片信息
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public AjaxResult <Object> Add(JrttimagesReq req)
        {
            Jrttimagesinfo model = new Jrttimagesinfo();

            model.PlatforminfoId = req.PlatforminfoID;
            model.Url            = req.Url;
            model.Height         = req.Height;
            model.Width          = req.Width;
            model.WebUrl         = req.WebUrl;
            model.MimeType       = req.MimeType;

            db.Jrttimagesinfo.Add(model);
            db.SaveChanges();
            return(new AjaxResult <Object>("添加成功!", 0));
        }
        public JsonResult Ajax_AddJRTTImages(JrttimagesReq req)
        {
            Subchannel sb = sh.SelSubchannel((long)Convert.ToInt32(req.PlatforminfoID));

            if (sb == null)
            {
                return(Json(new AjaxResult <Object>("渠道信息错误!")));
            }
            if (string.IsNullOrWhiteSpace(sb.PyscriptPic))
            {
                return(Json(new AjaxResult <Object>("渠道《" + sb.SubChannelName + "》,没有填写发布图片脚本!")));
            }
            if (string.IsNullOrWhiteSpace(sb.AnalogPacket))
            {
                return(Json(new AjaxResult <Object>("渠道COOKIE错误!")));
            }

            //base64加密(COOKIE)
            string ck = EncodeBase64("utf-8", sb.AnalogPacket);

            //string script = "E:/work/NET/WebManager/WebManager/Web.Manager/wwwroot/PY/上传图片到材料库.py" + " " + ck + " " + req.Url;
            string script = sb.PyscriptPic + " " + ck + " " + req.Url;

            var psi = new ProcessStartInfo("python", script)
            {
                RedirectStandardOutput = true
            };
            var proc = Process.Start(psi);

            if (proc == null)
            {
                Console.WriteLine("Can not exec.");
            }
            else
            {
                Console.WriteLine("-------------Start read standard output--------------");
                //开始读取
                using (var sr = proc.StandardOutput)
                {
                    while (!sr.EndOfStream)
                    {
                        //Console.WriteLine(sr.ReadLine());
                        string jsonText = sr.ReadLine();
                        Console.WriteLine(jsonText);
                        JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);

                        JrttimagesReq md = new JrttimagesReq();
                        md.PlatforminfoID = req.PlatforminfoID;
                        md.Url            = req.Url;
                        md.Height         = jo["height"].ToString();
                        md.Width          = jo["width"].ToString();
                        md.WebUrl         = jo["web_url"].ToString();
                        md.MimeType       = jo["mime_type"].ToString();

                        return(Json(jrtt.Add(md)));
                    }

                    if (!proc.HasExited)
                    {
                        proc.Kill();
                    }
                }
                Console.WriteLine("---------------Read end------------------");
                Console.WriteLine($"Total execute time :{(proc.ExitTime - proc.StartTime).TotalMilliseconds} ms");
                Console.WriteLine($"Exited Code : {proc.ExitCode}");
            }

            return(Json(new AjaxResult <Object>("上传头条服务器失败!")));
        }