代码:
/// <summary> /// Http上传文件 </summary> public static string HttpUploadFile(string url,string path) { // 设置参数 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); 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 = FileStream(path,FileMode.Open,FileAccess.Read); byte[] bArr = new byte[fs.Length]; fs.Read(bArr,0 request.GetRequestStream(); postStream.Write(itemBoundaryBytes,itemBoundaryBytes.Length); postStream.Write(postHeaderBytes,postHeaderBytes.Length); postStream.Write(bArr,bArr.Length); postStream.Write(endBoundaryBytes,endBoundaryBytes.Length); postStream.Close(); 发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() HttpWebResponse; 直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream instream = response.GetResponseStream(); StreamReader sr = StreamReader(instream,Encoding.UTF8); 返回结果网页(html)代码 string content = sr.ReadToEnd(); return content; }
using System; System.Web; namespace SWX { partial class test2 : System.Web.UI.Page { protected void Page_Load(object sender,EventArgs e) { HttpPostedFile file = Request.Files[]; file.SaveAs(MapPath(\\UploadFile\\ file.FileName)); Response.Write(Success\r\n); } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。