国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 松滋市| 和政县| 彩票| 襄垣县| 兴业县| 青田县| 卓尼县| 乌海市| 建德市| 凤阳县| 池州市| 北安市| 江城| 柯坪县| 武定县| 江油市| 辉县市| 浦东新区| 包头市| 婺源县| 西青区| 珠海市| 濮阳县| 陆川县| 靖西县| 元阳县| 哈密市| 镇康县| 边坝县| 福泉市| 平利县| 怀安县| 金门县| 启东市| 昌平区| 临桂县| 上犹县| 乐业县| 东阿县| 阜康市| 离岛区|