HttpWebRequest post上傳文件

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

?

轉載于:https://www.cnblogs.com/dragon-L/p/4871611.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256599.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256599.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256599.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

文章標題

**1>MSVCRTD.lib(exe_main.obj) : error LNK2019: 無法解析的外部符號 main,該符號在函數 “int __cdecl invoke_main(void)” (?invoke_mainYAHXZ) 中被引用 1>D:\vs2015-code\Imae_Client\x64\Debug\Imae_Client.exe : fatal error LNK1120: 1 個無法解析…

matlab simulink筆記04——switch模塊

Switch 模塊 Switch模塊是-.個選擇開關模塊,可根據判斷條件選擇多個輸入端口中的某個進行輸出。圖所示為CommonlyUsedBlocks中具有3個輸入端口.1個輸出端口的Switch模塊圖標。模塊的3個端口中,第1個和第3個端口為輸出端口提供輸出值,輸出端口輸出第1個輸人口還是第3個輸人口的值…

[Ajax]ajax學習與理解

1.新建demo.aspx頁面。2.首先在該頁面的后臺文件demos.aspx.cs中添加引用。 using System.Web.Services;3.無參數的方法調用. 大家注意了,這個版本不能低于.net framework 2.0。2.0已下不支持的。后臺代碼: [WebMethod] public static string SayHel…

優化Web網站性能

一、前端優化網站性能優化是一個很綜合的話題,涉及到服務器的配置和網站前后端程序等各個方面,我只是從實際經歷出發,分享一下自己所嘗試過的網站性能優化方法。之所以在標題上掛一個web2.0,是因為本文更偏重于中小網站的性能優化…

Gym - 100851F Froggy Ford kruskal

題目鏈接: http://acm.hust.edu.cn/vjudge/problem/307216Froggy FordTime Limit: 3000MS題意 青蛙過河,河中有若干個石頭,現在你可以加一個石頭,使得青蛙從左岸跳到右岸的最大跳躍距離最小。 題解 把左岸和右岸作為兩個虛節點&am…

Tesseract入門-VS2015下調用Tesseract4.0 +win7 64位系統

本文是基于最近的OCR識別項目學習ocr開源庫-tesseract的簡單調用,不涉及其余視覺知識。 參考文獻:http://blog.csdn.net/u012566751/article/details/54136836 參考庫:http://download.csdn.net/download/u010554381/10044876 1.預備工作 …

authconfig命令解析_學習筆記

時間:2017.11.16作者:李強參考:man,info,magedu講義聲明:以下英文純屬個人翻譯,英文B級,歡迎糾正,盜版不糾,才能有限,希望不誤人子弟為好。1、使用目的與場景先列在這里&…

matlab simulinK筆記06——代數環

★代數環 代數環,就是由于模型的輸出反饋到模塊或子系統的某個輸入端,如果這個輸入 是直接饋入的,那么二者在同一個采樣點內需得到求解,但又互相依賴,哪一方都不 能完成求解過程,使得解算器無法解算導致錯誤產生,這樣的…

PHP多種序列化/反序列化的方法 (轉載)

1. serialize和unserialize函數 這兩個是序列化和反序列化PHP中數據的常用函數。 <?php$a array(a > Apple ,b > banana , c > Coconut);//序列化數組 $s serialize($a); echo $s; //輸出結果&#xff1a;a:3:{s:1:"a";s:5:"Apple";s:1:&qu…

基于python3的Opencv(一)-打開攝像頭顯示圖像

基于Python3的Opencv學習&#xff1a; import cv2 as cv def video_demo(): #0是代表攝像頭編號&#xff0c;只有一個的話默認為0capturecv.VideoCapture(0) while(True):ref,framecapture.read()cv.imshow("1",frame) #等待30ms顯示圖像&#xff0c;若過程中按“Esc…

.Net中的AOP系列之《方法執行前后——邊界切面》

返回《.Net中的AOP》系列學習總目錄 本篇目錄 邊界切面 PostSharp方法邊界方法邊界 VS 方法攔截ASP.NET HttpModule邊界真實案例——檢查是否為移動端用戶真實案例——緩存小結本系列的源碼本人已托管于Coding上&#xff1a;點擊查看。 本系列的實驗環境&#xff1a;VS 2013 Up…

matlab simulink筆記06 —— 利用simulink求解微分方程/simulink框圖與控制系統框圖的區別

目錄 1.利用integrator求解微分方程 1.1求解步驟 1.2例子 2.simulink框圖與控制系統框圖的區別 本人剛開始學習simulink,總是會將simulink框圖和控制系統框圖混淆,導致最后不能正確的根據simulink框圖得到相應的微

ubuntu搭建svn、git遇到的問題及解決辦法

不錯的git筆記博客&#xff1a; http://www.cnblogs.com/wanqieddy/category/406859.html http://blog.csdn.net/zxncvb/article/details/22153019 Git學習教程&#xff08;六&#xff09;Git日志 http://fsjoy.blog.51cto.com/318484/245261/ 圖解git http://my.oschina.net/x…

PHP IDE phpstorm 快捷鍵

這篇文章主要介紹了PHP IDE phpstorm 常用快捷鍵,本文分別列出了mac系統和Windows系統下的phpstorm快捷鍵,需要的朋友可以參考下 一、mac電腦phpstorm快捷鍵 command a 全選 command c 復制 command v 粘貼 command z 撤消 command k 代碼搜索 command l 輸入行號跳到某一…

Opencv SolvePnP調用實戰

1.環境說明與應用說明 VS2015opencv3.4&#xff0c;實際應用在MFC環境中&#xff01;主要是用來做定位&#xff0c;利用平面靶標給機器人的工具快換提供定位信息 2.實際調用 CV_EXPORTS_W bool solvePnP( InputArray objectPoints, InputArray imagePoints, …

matlab simulink筆記05 —— 積分模塊

1.連續積分模塊&#xff1a;integrator 例子見&#xff1a;matlab simulink筆記06 —— 利用simulink求解微分方程/simulink框圖與控制系統框圖的區別

squid在企業網中的應用

一&#xff1a;squid簡介&#xff1a; Squid是一種在Linux系統下使用的優秀的代理服務器軟件。Squid是一個緩存internet數據的一個軟件&#xff0c;它接收用戶的下載申請&#xff0c;并自動處理所下載的數據。也就是說&#xff0c;當一個用戶想要下載一個主頁時&#xff0c;它向…

win10+tensorflow faster-RCNN 訓練自己的數據集

首先&#xff0c;感謝博客上各路大佬的無私奉獻&#xff01;但是也不得不吐槽下&#xff0c;大佬些寫博客的時候能盡量寫的對小白友好一點嗎&#xff1f;期間遇到各種坑&#xff0c;說多了都是淚啊&#xff01;話不多說&#xff0c;上正題&#xff01; 環境&#xff1a;win10a…

matlab simulnk筆記07——模塊(接地模塊group、終止模塊terminal、信號合并mux與分解模塊demux)

1.接地模塊group 2.終止模塊terminal 3.信號合并mux 注意:合并僅僅指的是物理上的合并,數學上真正意義上的合并,只是將多個信號放在同一個管道上統一傳輸給顯示終端,但是每個信號之間互不影響,是相

二叉搜索樹的插入與刪除圖解

一、二叉搜索樹&#xff08;BSTree&#xff09;的概念 二叉搜索樹又被稱為二叉排序樹&#xff0c;那么它本身也是一棵二叉樹&#xff0c;那么滿足以下性質的二叉樹就是二叉搜索樹&#xff1a;1、若左子樹不為空&#xff0c;則左子樹上左右節點的值都小于根節點的值2、若它的右子…