微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# HTTP上传文件

代码

/// <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;
}
View Code

接收文件代码

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);
        }
    }
}
View Code

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐