/// <summary> /// 结束任务 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnKillTask_Click(object sender, EventArgs e) { DialogResult dialogResult = MessageBox.Show("确定要结束当前任务吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (dialogResult == DialogResult.OK) { string url = string.Format(@"http://{0}/api/Mms/WinFormClient/GetProductDataUpKillDate?taskID={1}", Program.API, taskID); var result = Helpers.HttpHelper.GetTByUrl <ResultModel>(url); if (result.Result) { MessageBox.Show("更新实际结束时间成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); parentForm.TaskInfoForm_Load(new object(), new EventArgs()); Close(); } else { MessageBox.Show(result.Msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
private void BtnUpLoad_Click(object sender, EventArgs e) { Thread thread = new Thread(new ThreadStart(delegate { FileStream fStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); BinaryReader bReader = new BinaryReader(fStream); long fileLength = fStream.Length; string md5str = Common.GetStreamMd5(filePath); string newFileName = md5str + Path.GetExtension(fileName); var webFileResume = HttpHelper.GetTByUrl <ResultModel>(string.Format(@"http://{0}/api/Mms/SYS_FileManage/GetResumFile?fileName={1}", Program.API, newFileName)); if (webFileResume.Result) { WebClient webClient = new WebClient(); int byteSize = 64 * 1024; long cruuent = Convert.ToInt64(webFileResume.Data); bool isUploadOK = true; try { byte[] data; if (cruuent > 0) { fStream.Seek(cruuent, SeekOrigin.Current); } for (; cruuent <= fileLength; cruuent += byteSize) { if (cruuent + byteSize > fileLength) { data = new byte[Convert.ToInt64(fileLength - cruuent)]; bReader.Read(data, 0, Convert.ToInt32(fileLength - cruuent)); } else { data = new byte[byteSize]; bReader.Read(data, 0, byteSize); } try { webClient.Headers.Remove(HttpRequestHeader.ContentRange); webClient.Headers.Add(HttpRequestHeader.ContentRange, "bytes " + cruuent + "-" + (cruuent + byteSize) + "/" + fileLength); byte[] byRemoteInfo = webClient.UploadData(string.Format(@"http://{0}/api/Mms/SYS_FileManage/PostRsume?filename={1}", Program.API, newFileName), "post", data); string sRemoteInfo = Encoding.Default.GetString(byRemoteInfo); ResultModel result = JsonConvert.DeserializeObject <ResultModel>(sRemoteInfo); if (result.Result) { if (cruuent + byteSize > fileLength) { prgUpLoad.Value = 100; lblPercent.Text = "100%"; } else { prgUpLoad.Value = Convert.ToInt32((cruuent + byteSize) * 100 / fileLength); lblPercent.Text = ((double)(cruuent + byteSize) / fileLength).ToString("p"); } } else { //MessageBox.Show(result.Msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); Common.MessageBoxShow(this, result.Msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); isUploadOK = false; break; } } catch (Exception ex) { //MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); Common.MessageBoxShow(this, ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); isUploadOK = false; break; } } if (isUploadOK) { ResultModel setDataResult = HttpHelper.PostTByUrl <ResultModel>(string.Format(@"http://{0}/api/Mms/SYS_FileManage/PostSetFileManageData", Program.API), new { BindCode = dRequestCode, FileName = fileName, MD5Code = md5str }); if (setDataResult.Result) { //MessageBox.Show("上传成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); Common.MessageBoxShow(this, "上传成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); parentForm.TaskInfoForm_Load(new object(), new EventArgs()); } else { //MessageBox.Show(string.Format(@"上传失败!\n{0}", setDataResult.Msg), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); Common.MessageBoxShow(this, string.Format(@"上传失败!\n{0}", setDataResult.Msg), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } catch (Exception ex) { //MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); Common.MessageBoxShow(this, ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); } finally { fStream.Close(); bReader.Close(); } } else { fStream.Close(); bReader.Close(); //MessageBox.Show(webFileResume.Msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); Common.MessageBoxShow(this, webFileResume.Msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } })) { IsBackground = true }; thread.Start(); }