ASP.NET中利用WebClient上傳圖片到遠(yuǎn)程服務(wù)的方法
一、客戶端
1.頁面
<form id="Form1" method="post" runat="server" enctype="multipart/form-data"> <input id="MyFile" type="file" runat="server" /> <br /> <br /> <asp:Button ID="Button1" runat="server" Text="上載文件" OnClick="Button1_Click"></asp:Button> </form>
2.后臺(tái)
System.Web.HttpFileCollection oFiles = System.Web.HttpContext.Current.Request.Files; string FilePath = oFiles[0].FileName; string FileName = FilePath.Substring(FilePath.LastIndexOf("\\") + 1); byte[] b = new byte[oFiles[0].ContentLength]; System.IO.Stream fs = (System.IO.Stream)oFiles[0].InputStream; fs.Read(b, 0, oFiles[0].ContentLength); string postData = "data=" + HttpUtility.UrlEncode(Convert.ToBase64String(b)); var webclient = new WebClient(); webclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); byte[] byteArray = Encoding.UTF8.GetBytes(postData); //byte[] buffer = webclient.UploadData("http://localhost/datapush/DataPush.ashx", "POST", byteArray);//ashx byte[] buffer = webclient.UploadData("http://localhost/datapush/WebServiceDataPush.asmx/DataPush", "POST", byteArray);//asmx var msg = Encoding.UTF8.GetString(buffer); Response.Write(msg);
二、服務(wù)端
string msg = ""; byte[] filedata = Convert.FromBase64String(context.Request["data"]); if (filedata.Length == 0) { msg= "{\"code\":\"上傳的是空文件\"}"; } if (filedata.Length > 1048576) { msg = "{\"code\":\"圖片大小不能超過1M\"}"; } string fileextension = filedata[0].ToString() + filedata[1].ToString(); if (fileextension == "7173") { fileextension = "gif"; } else if (fileextension == "255216") { fileextension = "jpg"; } else if (fileextension == "13780") { fileextension = "png"; } else if (fileextension == "6677") { fileextension = "bmp"; } else if (fileextension == "7373") { fileextension = "tif"; } else { msg = "{\"code\":\"上傳的文件不是圖片\"}"; } try { //保存圖片 string filename = Guid.NewGuid().ToString("D") + "." + fileextension; System.IO.MemoryStream ms = new System.IO.MemoryStream(filedata); System.IO.FileStream fs = new System.IO.FileStream(context.Server.MapPath("~/") + "/采集圖片/" + filename, System.IO.FileMode.Create); ms.WriteTo(fs); ms.Close(); fs.Close(); fs = null; ms = null; msg = "{\"code\":\"上傳圖片成功\"}"; } catch (Exception exe) { msg = "{\"code\":\"" + exe.Message + "\"}"; }
以上所述是小編給大家介紹的ASP.NET中利用WebClient上傳圖片到遠(yuǎn)程服務(wù)的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
ASP.NET的事件模型(很適合學(xué)習(xí)的文章)
當(dāng)我們新建一個(gè)ASP.NET的應(yīng)用程序時(shí),會(huì)默認(rèn)生成一個(gè)Default.aspx和Default.aspx.cs頁面2012-10-10ASP.NET?Core使用EF為關(guān)系數(shù)據(jù)庫(kù)建模
這篇文章介紹了ASP.NET?Core使用EF為關(guān)系數(shù)據(jù)庫(kù)建模的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04ADO.NET 讀取EXCEL的實(shí)現(xiàn)代碼((c#))
經(jīng)常需要在數(shù)據(jù)庫(kù)與Execl之間互導(dǎo)數(shù)據(jù)。net時(shí)代,ADO.NET可以使用使用Microsoft.Jet.OleDb訪問訪問Excel,網(wǎng)上已經(jīng)有很多類似的資源,最典型也是最簡(jiǎn)單的可能如下:(asp.net環(huán)境)2012-12-12ASP.NET實(shí)現(xiàn)讀取Excel內(nèi)容并在Web上顯示
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)讀取Excel內(nèi)容并在Web上顯示,很實(shí)用的一個(gè)技巧,需要的朋友可以參考下2014-08-08asp.net利用后臺(tái)實(shí)現(xiàn)直接生成html分頁的方法
這篇文章主要介紹了asp.net利用后臺(tái)實(shí)現(xiàn)直接生成html分頁的方法,比較簡(jiǎn)潔實(shí)用,需要的朋友可以參考下2014-08-08Entity Framework Core延遲加載(懶加載)用法
這篇文章介紹了Entity Framework Core延遲加載(懶加載)的使用方式,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02.NET使用NPOI實(shí)現(xiàn)讀取帶有圖片的excel數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了.NET如何使用NPOI實(shí)現(xiàn)讀取帶有圖片的excel數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03Asp.net TreeView來構(gòu)建用戶選擇輸入的方法 推薦
選擇優(yōu)于輸入,這是一般人的共識(shí),面對(duì)繁多的數(shù)據(jù),提供良好的選擇界面,一方面增強(qiáng)用戶的界面體驗(yàn),一方面也提高了數(shù)據(jù)的準(zhǔn)確性,更節(jié)省了用戶的寶貴時(shí)間。2009-12-12