向遠端伺服器傳送並接受檔案
阿新 • • 發佈:2019-01-05
/// <summary> /// 傳送檔案 /// </summary> public static void PostBinaryData() { string notice = Convert.ToString(Guid.NewGuid()); string sign = MD5Helper.Encrypt("zoversoft" + notice); string url = string.Format("http://www.xx.com/File/SaveImageData?childFile={0}&sign={1}¬ice={2}", "lk", sign, notice); byte[] bytes = System.IO.File.ReadAllBytes(@"F:\微信應用logo\訊息.jpg"); HttpWebRequest wRequest = (HttpWebRequest)WebRequest.Create(url); wRequest.ContentType = "multipart/form-data"; wRequest.ContentLength = bytes.Length; wRequest.Method = "POST"; using (Stream stream = wRequest.GetRequestStream()) { stream.Write(bytes, 0, bytes.Length); using (HttpWebResponse wResponse = (HttpWebResponse)wRequest.GetResponse()) { using (StreamReader sReader = new StreamReader(wResponse.GetResponseStream(), System.Text.Encoding.UTF8)) { Console.Write(sReader.ReadToEnd()); Console.ReadKey(); } } } }
/// <summary> /// 接收檔案 /// </summary> /// <param name="childFile">資料夾</param> /// <param name="sign">簽名</param> /// <param name="notice">隨機字串</param> /// <returns>結果/檔案路徑</returns> [HttpPost] public JsonResult SaveImageData(string childFile, string sign, string notice) { try { if (MD5Helper.Encrypt("zoversoft" + notice) == sign) { string filePath = IPublicVar.WebDownPath + childFile; if (System.IO.Directory.Exists(filePath) == false) { System.IO.Directory.CreateDirectory(filePath); } string fileName = string.Format("{0:yyyyMMdd}", DateTime.Now) + sign + ".jpg"; using (Bitmap img = new Bitmap(Request.InputStream)) { img.Save(filePath + @"\" + fileName); return Json(childFile + "/" + fileName); } } else { return Json("0"); } } catch { return Json("-1"); } }