国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現(xiàn)HTTP上傳文件的方法

2019-10-29 21:44:44
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C#實現(xiàn)HTTP上傳文件的方法,包括了發(fā)送文件與接收文件的實現(xiàn)代碼,具有不錯的參考價值,需要的朋友可以參考下
 

本文實例講述了C#實現(xiàn)HTTP上傳文件的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

發(fā)送文件代碼如下:

 

復制代碼代碼如下:

/// <summary>
/// Http上傳文件
/// </summary>
public static string HttpUploadFile(string url, string path)
{
    // 設置參數(shù)
    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--" + boundary + "--/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 = new FileStream(path, FileMode.Open, FileAccess.Read);
    byte[] bArr = new byte[fs.Length];
    fs.Read(bArr, 0, bArr.Length);
    fs.Close();

    Stream postStream = request.GetRequestStream();
    postStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);
    postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
    postStream.Write(bArr, 0, bArr.Length);
    postStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
    postStream.Close();

    //發(fā)送請求并獲取相應回應數(shù)據
    HttpWebResponse response = request.GetResponse() as HttpWebResponse;
    //直到request.GetResponse()程序才開始向目標網頁發(fā)送Post請求
    Stream instream = response.GetResponseStream();
    StreamReader sr = new StreamReader(instream, Encoding.UTF8);
    //返回結果網頁(html)代碼
    string content = sr.ReadToEnd();
    return content;
}

 

接收文件的代碼如下:

 

復制代碼代碼如下:

using System;
using System.Web;

 

namespace SWX
{
    public partial class test2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            HttpPostedFile file = Request.Files[0];
            file.SaveAs(MapPath("//UploadFile//" + file.FileName));
            Response.Write("Success/r/n");
        }
    }
}

 

希望本文所述對大家的C#程序設計有所幫助。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 佛冈县| 洮南市| 礼泉县| 南丹县| 焉耆| 德安县| 卢氏县| 中宁县| 固原市| 永济市| 上虞市| 剑阁县| 阿克| 张北县| 公主岭市| 栾川县| 徐州市| 灌云县| 马龙县| 师宗县| 白银市| 广东省| 泽普县| 西青区| 武宁县| 阆中市| 沙洋县| 合阳县| 舟曲县| 晋城| 昔阳县| 清水县| 普宁市| 崇左市| 兴和县| 岳池县| 富顺县| 灌南县| 辽源市| 宁武县| 闵行区|