PHP微信开发素材管理,微信开发 ---- 素材管理

///

///From表单上传一个多媒体文件///

/// 地址

/// 类型名称

/// 文件名称

/// 输入流

/// 编码

///

public static string HttpRequestPost(string url, string typeName, string fileName, Stream fs, string encoding = "UTF-8")

{

HttpWebRequest request= (HttpWebRequest)WebRequest.Create(url); //建立url

request.Method = "POST";

request.Timeout= 10000;var postStream = new MemoryStream();//建立内存流来进行数据处理

#region 处理Form表单文件上传

//经过表单上传文件

string boundary = "----" + DateTime.Now.Ticks.ToString("x");//头部

string formdataTemplate = "\r\n--" + boundary + "\r\nContent-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: application/octet-stream\r\n\r\n";try{string formdata = string.Format(formdataTemplate, typeName, fileName);var formdataBytes = Encoding.ASCII.GetBytes(postStream.Length == 0 ? formdata.Substring(2, formdata.Length - 2) : formdata);//第一行不须要换行

postStream.Write(formdataBytes, 0, formdataBytes.Length); //填充内存流//写入文件

byte[] buffer = new byte[1024];int bytesRead = 0;while ((bytesRead=fs.Read(buffer,0,buffer.Length))!=0) //填充输入流

{

postStream.Write(buffer,0, bytesRead);

}

}catch(Exception ex)

{throwex;

}//结尾

var footer = Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");

postStream.Write(footer,0, footer.Length);

request.ContentType= string.Format("multipart/form-data; boundary={0}", boundary);#endregionrequest.ContentLength= postStream != null ? postStream.Length : 0; //设置类容长度

if (postStream!=null)

{

postStream.Position= 0;//直接写入流

Stream requestStream =request.GetRequestStream();byte[] buffer = new byte[1024];int bytesRead = 0;while ((bytesRead = postStream.Read(buffer, 0, buffer.Length)) != 0)

{

requestStream.Write(buffer,0, bytesRead);

}

postStream.Close();//关闭文件访问

}

HttpWebResponse response=(HttpWebResponse)request.GetResponse();using (Stream responseStream=response.GetResponseStream())

{using (StreamReader myStreamReader = newStreamReader(responseStream, Encoding.GetEncoding(encoding)))

{string retString =myStreamReader.ReadToEnd();return retString; //返回结果

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值