這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)如何在C# 項目中利用HttpClient實現(xiàn)一個文件上傳功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
目前累計服務(wù)客戶成百上千家,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗。以網(wǎng)站設(shè)計水平和技術(shù)實力,樹立企業(yè)形象,為客戶提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。成都創(chuàng)新互聯(lián)公司始終以務(wù)實、誠信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對領(lǐng)先技術(shù)的掌握、對創(chuàng)意設(shè)計的研究、對客戶形象的視覺傳遞、對應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
HttpClient
和MultipartFormDataContent
(傳送門)最低適用于.NET Framework 4.5版本
using (HttpClient client = new HttpClient()) { var content = new MultipartFormDataContent(); //添加字符串參數(shù),參數(shù)名為qq content.Add(new StringContent("123456"), "qq"); string path = Path.Combine(System.Environment.CurrentDirectory, "1.png"); //添加文件參數(shù),參數(shù)名為files,文件名為123.png content.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(path)), "file", "123.png"); var requestUri = "http://192.168.1.108:56852/api/Test/SaveFile"; var result = client.PostAsync(requestUri, content).Result.Content.ReadAsStringAsync().Result; Console.WriteLine(result); }
[HttpPost] public async Task<JsonResult> SaveFile([FromForm]string qq, IFormFile file) { return await Task.Run(() => { try { //保存文件到本地 var filefullPath = Path.Combine(Directory.GetCurrentDirectory(), file.FileName); using (FileStream fs = new FileStream(filefullPath, FileMode.Create)) { file.CopyTo(fs); fs.Flush(); } } catch (Exception ex) { return Fail(file.FileName + "---" + ex.Message); } return Success(); }); }
注意:如果要通過參數(shù)形式接收數(shù)據(jù),需要確保參數(shù)名稱和上面發(fā)送請求中設(shè)置的名稱一致,否則無法自動綁定到參數(shù)中,且需要給參數(shù)加上[FromForm]的標記。
public class SaveFileModel { public string qq { get; set; } public IFormFile File { get; set; } } public async Task<JsonResult> SaveFile([FromForm]SaveFileModel model) { //...... }
public async Task<JsonResult> SaveFile() { return await Task.Run(() => { var files = HttpContext.Request.Form.Files; var qq = HttpContext.Request.Form["qq"]; //...... }); }
上述就是小編為大家分享的如何在C# 項目中利用HttpClient實現(xiàn)一個文件上傳功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞名稱:如何在C#項目中利用HttpClient實現(xiàn)一個文件上傳功能-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://vcdvsql.cn/article34/iiepe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、微信小程序、網(wǎng)站排名、網(wǎng)站營銷、移動網(wǎng)站建設(shè)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容