private static void GetRequestStreamCallback(IAsyncResult asynchronousResult) { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; string path = errorPathList[0]; int pos = path.LastIndexOf("\\"); string fileName = path.Substring(pos + 1); ////请求头部信息 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.EndGetRequestStream(asynchronousResult); MsMultiPartFormData form = new MsMultiPartFormData(postStream); //form.AddFormField("token", "UmyhgwyTCXazlqnBh6sypTbxuCrH0VUQ8vjNoPzT:lf4Kcq7RrRrg508o25YxdusZyTU=:eyJzY29wZSI6InRzdGRkdW1wIiwiZGVhZGxpbmUiOjE0NTQzNTMyNTZ9"); form.AddFormField("token", "UmyhgwyTCXazlqnBh6sypTbxuCrH0VUQ8vjNoPzT:nMp6tOdlV9jz4fsGvju-Kv2vvik=:eyJzY29wZSI6InRzdGRkdW1wIiwiZGVhZGxpbmUiOjE3NzExNDY5NjN9"); form.AddFormField("key", path); form.AddStreamFile("file", fileName, bArr); form.PrepareFormData(); postStream.Close(); request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request); }
private static void GetRequestStreamCallback(IAsyncResult asynchronousResult) { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; string path = errorPathList[0]; int pos = path.LastIndexOf("\\"); string fileName = path.Substring(pos + 1); ////请求头部信息 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.EndGetRequestStream(asynchronousResult); MsMultiPartFormData form = new MsMultiPartFormData(postStream); //form.AddFormField("token", "UmyhgwyTCXazlqnBh6sypTbxuCrH0VUQ8vjNoPzT:lf4Kcq7RrRrg508o25YxdusZyTU=:eyJzY29wZSI6InRzdGRkdW1wIiwiZGVhZGxpbmUiOjE0NTQzNTMyNTZ9"); form.AddFormField("token", "UmyhgwyTCXazlqnBh6sypTbxuCrH0VUQ8vjNoPzT:EHu4cZi6Dbky2bAfgHLupWTmcx4=:eyJzY29wZSI6InRzdGRkdW1wIiwiY2FsbGJhY2tVcmwiOiJodHRwOi8vY3Jhc2gueHkzZC5tb2JpL3VwbG9hZC90c3RkX2NsaWVudCIsImNhbGxiYWNrQm9keSI6ImtleT0kKGtleSkiLCJkZWFkbGluZSI6MTgyMjUyNjc0Mn0="); form.AddFormField("key", "tstd_error_" + fileName); form.AddStreamFile("file", fileName, bArr); form.PrepareFormData(); postStream.Close(); request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request); }
/// <summary> /// 上传图片或文件 不能大于2M /// </summary> /// <param name="filePath"></param> /// <returns></returns> public static string Upfile(string filePath) { FileStream file = new FileStream(filePath, FileMode.Open); byte[] bb = new byte[file.Length]; file.Read(bb, 0, (int)file.Length); file.Close(); string fileName = Path.GetFileName(filePath); MsMultiPartFormData form = new MsMultiPartFormData(); string decodeName = HttpUtility.UrlDecode(Path.GetFileName(fileName));//最终服务器会按原文件名保存文件,所以需要将文件名编码下,防止中文乱码 string fileKeyName = "media"; form.AddStreamFile(fileKeyName, fileName, bb); String hashMd5 = Lib.HashHelper.ComputeMD5(filePath); WxPayData inputObj = new WxPayData(); inputObj.SetValue("mch_id", WxPayConfig.GetConfig().GetMchID()); inputObj.SetValue("media_hash", hashMd5); inputObj.SetValue("sign_type", "HMAC-SHA256"); //inputObj.SetValue("sign", inputObj.MakeSign());//签名 form.AddFormField("mch_id", WxPayConfig.GetConfig().GetMchID()); form.AddFormField("media_hash", hashMd5); form.AddFormField("sign_type", "HMAC-SHA256"); form.AddFormField("sign", inputObj.MakeSign()); //签名 string SERVICE_URL = "https://api.mch.weixin.qq.com/secapi/mch/uploadmedia"; //最终接收文件上传的服务接口 string rst = Lib.HttpService.Post(inputObj.ToXml(), SERVICE_URL, form, true, 10); inputObj = new WxPayData(); inputObj.FromXml(rst); if (inputObj.GetValue("return_code").ToString() == "SUCCESS") { return(inputObj.GetValue("media_id").ToString()); } return(inputObj.GetValue("return_msg").ToString()); }
public object UploadPic(FileData[] fds) { try { WebRequest request = (HttpWebRequest)WebRequest.Create(ServiceURL + "uploadAdver"); MsMultiPartFormData form = new MsMultiPartFormData(); form.AddFormField("devilField", "中国人"); form.AddStreamFile("fileUpload", fds[0].FileName, fds[0].FileBytes); form.PrepareFormData(); request.ContentType = "multipart/form-data; boundary=" + form.Boundary; request.Method = "POST"; Stream stream = request.GetRequestStream(); foreach (var b in form.GetFormData()) { stream.WriteByte(b); } stream.Close(); string responseContent = ""; using (HttpWebResponse res = (HttpWebResponse)request.GetResponse()) { using (Stream resStream = res.GetResponseStream()) { byte[] buffer = new byte[1024]; int read; while ((read = resStream.Read(buffer, 0, buffer.Length)) > 0) { responseContent += Encoding.UTF8.GetString(buffer, 0, read); } } res.Close(); } JavaScriptSerializer js = new JavaScriptSerializer(); List <FJ> list = js.Deserialize <List <FJ> >(responseContent); return(list); } catch (Exception ex) { throw ex; } }
public object UploadPic(FileData[] fds, string carphotogltype, string carid) { try { WebRequest request = (HttpWebRequest)WebRequest.Create(ServiceURL + "uploadAdver"); MsMultiPartFormData form = new MsMultiPartFormData(); form.AddFormField("devilField", "中国人"); form.AddStreamFile("fileUpload", fds[0].FileName, fds[0].FileBytes); form.PrepareFormData(); request.ContentType = "multipart/form-data; boundary=" + form.Boundary; request.Method = "POST"; Stream stream = request.GetRequestStream(); foreach (var b in form.GetFormData()) { stream.WriteByte(b); } stream.Close(); string responseContent = ""; using (HttpWebResponse res = (HttpWebResponse)request.GetResponse()) { using (Stream resStream = res.GetResponseStream()) { byte[] buffer = new byte[1024]; int read; while ((read = resStream.Read(buffer, 0, buffer.Length)) > 0) { responseContent += Encoding.UTF8.GetString(buffer, 0, read); } } res.Close(); } JavaScriptSerializer js = new JavaScriptSerializer(); List <FJ> list = js.Deserialize <List <FJ> >(responseContent); using (DBConnection dbc = new DBConnection()) { if (list.Count > 0) { dbc.ExecuteDataTable("update tb_b_carphoto set status=1 where carphotogltype=" + dbc.ToSqlValue(carphotogltype) + " and carid=" + dbc.ToSqlValue(carid)); DataTable dt = dbc.GetEmptyDataTable("tb_b_carphoto"); for (int i = 0; i < list.Count; i++) { DataRow dr = dt.NewRow(); dr["carphotoglid"] = Guid.NewGuid(); dr["FJ_ID"] = list[i].fjId; dr["status"] = 0; dr["adduser"] = SystemUser.CurrentUser.UserID; dr["addtime"] = DateTime.Now; dr["carphotogltype"] = Convert.ToInt32(carphotogltype); dr["carid"] = carid; dt.Rows.Add(dr); } dbc.InsertTable(dt); } } return(list); } catch (Exception ex) { throw ex; } }