HttpClient 上传文件

/// <summary>
/// 发送post请求
/// </summary>
/// <param name="filePath">文件路径</param>
/// <param name="pID">患者ID</param>
/// <returns></returns>
public static string HttpPostRequst(string filePath, string pID)
{
string data = string.Empty;
try
{
string url = ConfigurationManager.AppSettings["WebURLPOST"];
var fileName = Path.GetFileName(filePath);
using (var fClient = new HttpClient())
{
MultipartFormDataContent content = new MultipartFormDataContent();

FileStream fileStream = File.Open(filePath, FileMode.Open);
StreamContent streamContent = new StreamContent(fileStream);
streamContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
streamContent.Headers.ContentDisposition.Name = "ecg_file";
streamContent.Headers.ContentDisposition.FileName = fileName;
streamContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");

HttpContent strParam = new StringContent("891164e528c4450485f356d662466e5c");
strParam.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
strParam.Headers.ContentDisposition.Name = "exam_id";

content.Add(strParam);
content.Add(streamContent);

data = fClient.PostAsync(new Uri(url), content).Result.Content.ReadAsStringAsync().Result;
streamContent.Dispose();
fileStream.Dispose();

}
}
catch (Exception ex)
{
CommonLog.WriteECGLog("发送文件流出错:" + ex.Message + "\r\n" + "\r\n", "upload");
}
return data;
}

原文地址:https://www.cnblogs.com/FoR_Oscar/p/11867076.html

时间: 2024-11-14 21:04:48

HttpClient 上传文件的相关文章

httpclient 上传文件、下载文件

用httpclient4.3 post方式推送文件到服务端   准备:httpclient-4.3.3.jar:httpcore-4.3.2.jar:httpmime-4.3.3.jar 标签: <无> 代码片段(1)[全屏查看所有代码] 1. [代码][Java]代码 /**  * 上传文件  * @throws  ParseException  * @throws  IOException  */    publicstaticvoidpostFile()throwsParseExcept

Xamarin.Forms 使用HttpClient上传文件

Xamarin.Forms 使用HttpClient上传文件 在应用开发中,上传图片很多时候都是不可避免的问题: 以下用HttpClient实现的上传文件代码: 1 public static async Task<string> UploadFileAsync(string url ,string path) 2 { 3 using (var client = new HttpClient()) 4 { 5 using (var content = new MultipartFormData

HttpClient上传文件

今天在写微信的多媒体上传下载接口,当时无论采用哪一个API都无法提交正确提交数据过去,不是连接不了微信服务器,就是微信服务器返回数据错误,后台百度了下,找到一篇文章,但不是用HttpClient写的,他是直接用jdk自带的URLConnection提交的数据.初看之下,想想HttpClient应该也可以做到的,也就仿照了下那哥们组装了下数据尝试下,用了StringEntity.FileEntity.InputStreamEntity都无法正确提交数据.后来出去抽了支烟,理清下思路.重写来过,结果

[转]httpclient 上传文件、下载文件

用httpclient4.3 post方式推送文件到服务端  准备:httpclient-4.3.3.jar:httpcore-4.3.2.jar:httpmime-4.3.3.jar/** * 上传文件 * @throws ParseException * @throws IOException */ publicstaticvoidpostFile()throwsParseException, IOException{ CloseableHttpClient httpClient = Htt

网络编程之使用HttpClient上传文件的客户端和服务器

1.1客户端: HttpClient常用HttpGet和HttpPost这两个类,分别对应Get方式和Post方式. 无论是使用HttpGet,还是使用HttpPost,都必须通过如下3步来访问HTTP资源. 1.创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象. 2.使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象. 3.通过HttpResp

httpclient上传文件乱码

String targetUrl = "http://localhost:8080/Test"; PostMethod filePost = new PostMethod(targetUrl) {//这个用来中文乱码 public String getRequestCharSet() { return "UTF-8";// } }; try { HttpClient client = new HttpClient(); File file = new File(&q

Android网络编程之使用HttpClient批量上传文件

请尊重他人的劳动成果,转载请注明出处:Android网络编程之使用HttpClient批量上传文件 我曾在<Android网络编程之使用HTTP访问网络资源>一文中介绍过HttpCient的使用,这里就不在累述了,感兴趣的朋友可以去看一下.在这里主要介绍如何通过HttpClient实现文件上传. 1.预备知识: 在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但现在这个类已经不在推荐使用了.随之替代它的类是MultipartEntityBuilder. 下面

Android网络编程之使用HttpClient批量上传文件(二)AsyncTask+HttpClient并实现上传进度监听

请尊重他人的劳动成果,转载请注明出处: Android网络编程之使用HttpClient批量上传文件(二)AsyncTask+HttpClient并实现上传进度监听 运行效果图: 我曾在<Android网络编程之使用HttpClient批量上传文件>一文中介绍过如何通过HttpClient实现多文件上传和服务器的接收.在上一篇主要使用Handler+HttpClient的方式实现文件上传.这一篇将介绍使用AsyncTask+HttpClient实现文件上传并监听上传进度. 监控进度实现: 首先

转 Android网络编程之使用HttpClient批量上传文件 MultipartEntityBuilder

请尊重他人的劳动成果,转载请注明出处:Android网络编程之使用HttpClient批量上传文件 http://www.tuicool.com/articles/Y7reYb 我曾在<Android网络编程之使用HTTP访问网络资源>一文中介绍过HttpCient的使用,这里就不在累述了,感兴趣的朋友可以去看一下.在这里主要介绍如何通过HttpClient实现文件上传. 1.预备知识: 在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但现在这个类已经不在推