public static string UploadFile(string Url, string path) { // 设置参数 try { HttpWebRequest request = WebRequest.Create(Url) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = "POST"; string boundary = DateTime.Now.Ticks.ToString("X"); // 随机分隔线 request.ContentType = "multipart/form-data;charset=utf-8;boundary=" + boundary; byte[] itemBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n"); byte[] endBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n"); int pos = path.LastIndexOf("\\"); string fileName = path.Substring(pos + 1); //请求头部信息 StringBuilder sbHeader = new StringBuilder(string.Format("Content-Disposition:form-data;name=\"file\";filename=\"{0}\"\r\nContent-Type:application/octet-stream\r\n\r\n", fileName)); byte[] postHeaderBytes = Encoding.UTF8.GetBytes(sbHeader.ToString()); FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); byte[] bArr = new byte[fs.Length]; fs.Read(bArr, 0, bArr.Length); fs.Close(); Stream postStream = request.GetRequestStream(); postStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length); postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length); postStream.Write(bArr, 0, bArr.Length); postStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length); postStream.Close(); //发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream instream = response.GetResponseStream(); StreamReader sr = new StreamReader(instream, Encoding.UTF8); //返回结果网页(html)代码 string content = sr.ReadToEnd(); Log.Info("upload ret: " + content); return(content); } catch (Exception e) { OfflineProcessor.AddEvent("fileupload", Url, path, DateTime.Now.ToString("yyyyMMddHHmmss")); Log.Error(e.Message); return(""); } }
public static string doPost(string action, string data) { string data0 = "action=" + action + "&classid=" + Global.getClassID() + "&courseid=" + Global.getCourseID() + "&teacherid=" + Global.getTeacherID(); if (data.IndexOf("lesson.get") < 0) { data0 += "&lessonid=" + Global.getLessonID(); } if (data.IndexOf("schoolid=") < 0) { data0 += "&schoolid=" + Global.getSchoolID(); } data = data0 + "&" + data; string tm = DateTime.Now.ToString("yyyyMMddHHmmss"); string src = tm + "_" + Global.getSchoolID() + "_" + Global.getClassID() + "_" + KEY; string sign = GetMD5(src); string url = Global.url_assistant + "s=" + Global.getSchoolID() + "&r=0&classid=" + Global.getClassID() + "&t=" + tm + "&c=" + sign; string ret = ""; string keyTemp = sign.Substring(4, 16); string dataEncrypt = AesEncrypt(data, keyTemp);//跟java的substring不一样 string retCrypt = HTTPReq.HttpPost(url, dataEncrypt); ret = AesDecrypt(retCrypt, keyTemp); if (ret.Length == 0) { OfflineProcessor.AddEvent(action, url, data, tm); } Log.Info("doPost: data=" + data); Log.Debug("ret=" + ret); if (data.IndexOf("lesson.get") > 0) { handleGetLessonResponse(ret); } else if (data.IndexOf("handon") > 0 && Global.getLessonID() == 0) { handleGetLessonResponse(ret); } if (ret == null) { ret = ""; } return(ret); }
public Form1() { InitializeComponent(); Log.Info("F1_1 set notifyIcon"); //show in taskbar { this.ShowInTaskbar = false; this.notifyIcon1.Visible = true;//在通知区显示Form的Icon this.WindowState = FormWindowState.Minimized; } //if (Global.isWithCamera()) //{ // this.toolStripMenuItem5.Visible = true; //} //else //{ // this.toolStripMenuItem5.Visible = false; //} FileInfo fi = new FileInfo(Application.StartupPath + "\\如e小助手.exe"); string lasttime = fi.LastWriteTime.ToString("yyyyMMdd HHmmss"); string MMdd = fi.LastWriteTime.ToString("MMdd"); string version = GetAssembly(typeof(System.Reflection.AssemblyVersionAttribute)); string[] szV = version.Split('.'); string version_1 = szV[0] + "." + szV[1] + "." + szV[2] + "." + MMdd; this.Text = "如e小助手 v" + version; this.labelAbout.Text = "关于 如e小助手(v" + version_1 + ")"; //设置自启动 Log.Info("F1_2 set autorun"); SetAutoRun(Global.getAutorun()); //清除历史文件夹 Log.Info("F1_3 remove historyDir"); RemoveHistoryDir(); //获取学校和班级的参数 int schoolid = Global.getSchoolID(); int classid = Global.getClassID(); Log.Info("F1_4 get parameters: schoolid=" + schoolid + ", classid=" + classid); string assistanturl = Global.url_assistant; Log.Info("F1_5 get class"); Classes c = m_db.getClassById(classid); if (c != null) { Global.setClassID(c.id); Global.setClassname(c.name); Global.setGrade(c.grade); } //更新班级的接收机ID Thread th = new Thread(delegate() { Log.Info("F1_6 setPCIP/syncHDId"); Thread.Sleep(3000); setHD_PcIp(); string hdid = Common.getHDID(); if (hdid.Length > 0) { Common.uploadHDBind(); } }); th.Start(); //上传历史数据 Thread thOfflineProcess = new Thread(delegate() { Log.Info("F1_7 syncOfflineData"); OfflineProcessor.UploadHistoryData(); }); thOfflineProcess.Start(); }
public Form1() { //Form_xiti1 ff = new Form_xiti1(); //ff.Show(); fController = new FormController(); fController.Display(false); //查看html文件夹是否存在,不存在就解压 string dir = Application.StartupPath + "\\html"; //if (!Directory.Exists(dir)) //{ // Common.UnZip(Application.StartupPath + @"\html.zip", Application.StartupPath + @"\html", ""); //} InitializeComponent(); //启动初始化接收机 answer_card = new AnswerCard(); //answer_card.Message(); string date = DateTime.Now.ToString("yyyyMMdd"); int schoolID = Global.getSchoolID(); Global.g_roommsg = Common.getClassroomCourseTable(schoolID, 101, "20170905"); //show in taskbar { this.ShowInTaskbar = false; this.notifyIcon1.Visible = true;//在通知区显示Form的Icon this.WindowState = FormWindowState.Minimized; } //if (Global.isWithCamera()) //{ // this.toolStripMenuItem5.Visible = true; //} //else //{ // this.toolStripMenuItem5.Visible = false; //} FileInfo fi = new FileInfo(Application.StartupPath + "\\互动课堂.exe"); string lasttime = fi.LastWriteTime.ToString("yyyyMMdd HHmmss"); string MMdd = fi.LastWriteTime.ToString("MMdd"); string version = GetAssembly(typeof(System.Reflection.AssemblyVersionAttribute)); string[] szV = version.Split('.'); string version_1 = szV[0] + "." + szV[1] + "." + szV[2] + "." + MMdd; this.Text = "互动课堂 v" + version; this.labelAbout.Text = "关于 互动课堂(v" + version_1 + ")"; //设置自启动 Log.Info("F1_2 set autorun"); SetAutoRun(Global.getAutorun()); //清除历史文件夹 Log.Info("F1_3 remove historyDir"); RemoveHistoryDir(); //获取学校和班级的参数 int schoolid = Global.getSchoolID(); int classid = Global.getClassID(); Log.Info("F1_4 get parameters: schoolid=" + schoolid + ", classid=" + classid); string assistanturl = Global.url_assistant; Log.Info("F1_5 get class"); Classes c = m_db.getClassById(classid); if (c != null) { Global.setClassID(c.id); Global.setClassname(c.name); Global.setGrade(c.grade); } //更新班级的接收机ID Thread th = new Thread(delegate() { Log.Info("F1_6 setPCIP/syncHDId"); Thread.Sleep(3000); setHD_PcIp(); string hdid = Common.getHDID(); if (hdid.Length > 0) { Common.uploadHDBind(); } }); th.Start(); //上传历史数据 Thread thOfflineProcess = new Thread(delegate() { Log.Info("F1_7 syncOfflineData"); OfflineProcessor.UploadHistoryData(); }); thOfflineProcess.Start(); while (Global.g_TeacherArray == null) { Thread.Sleep(50); } fNotifyToStart = new FormNotifyToStart(); fNotifyToStart.Show(); if (!Directory.Exists(dir)) { Common.UnZip(Application.StartupPath + @"\html.zip", Application.StartupPath + @"\html", ""); } else { System.IO.Directory.Delete(Application.StartupPath + @"\html", true); Common.UnZip(Application.StartupPath + @"\html.zip", Application.StartupPath + @"\html", ""); } }