本文主要介绍如何使用C#以文件流的方式上传本地文件到服务端
环境介绍
- 客户端:C#
- 服务端:Java+Spring框架
客户端代码
说明: 通过网页端调试可以发现,上传文件流时候,请求信息里面有
ContentType = "multipart/form-data;charset=utf-8;boundary=----WebKitFormBoundary" + boundary;
上述说明了服务端接受的数据类型以及boundary,boundary主要作用是帮助服务端接收的时候区分不同的参数,可以随机生成一段字符串,本文的生成方式采用的是
string boundary = DateTime.Now.Ticks.ToString("X"); // 随机分隔线
注意:对于每一个上传的参数前需要itemBoundaryBytes,所有参数完成后需要加上endBoundaryBytes
需要上传的参数,均为byte数组的形式,通过postStream.Write方法上传,顺序为itemBoundaryBytes+参数的bytes,最后为endBoundaryBytes;
最后通过HttpWebResponse res获得服务端的响应
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
CookieContainer cookieContainer = new CookieContainer();
request.CookieContainer = cookieContainer;
request.AllowAutoRedirect = true;
request.MaximumResponseHeadersLength =