对于httpclient上传文件的封装
来源:互联网 发布:xoi linux 编辑:程序博客网 时间:2024/06/06 20:37
上一篇文章写了如何使用httpclient上传文件到服务器。地址 博客地址
这篇来对上一篇的上传文件写一个简单的封装的工具类。
public class HttpUtils {private static HttpClient httpClient = new DefaultHttpClient();/** * 使用post方式访问指定URL * @param url 需要访问的URL * @param paramsMap 参数(形式 key:String -> value:Object) * @return 返回服务器返回的文本。(注:对于返回其他类型数据的此方法不适用) * @throws ClientProtocolException * @throws IOException */public static String post(String url,Map<String, Object> paramsMap) throws ClientProtocolException, IOException{HttpPost httpPost = new HttpPost(url);MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();//填充参数Set<String> keySet = paramsMap.keySet();for(String key:keySet){Object obj = paramsMap.get(key);if(obj instanceof File){ //参数是File 类型File file = (File) obj;entityBuilder.addPart(key, new FileBody(file));}if(obj instanceof String){ //参数是String 类型String value = (String) obj;entityBuilder.addPart(key, new StringBody(value,ContentType.DEFAULT_TEXT));}}httpPost.setEntity(entityBuilder.build());HttpResponse response = httpClient.execute(httpPost);if(response.getStatusLine().getStatusCode() == 200){HttpEntity entity = response.getEntity();String result = EntityUtils.toString(entity);return result;}return null;}}
private void uploadFileByHttpUtils(String url,File file,String fileName){Map<String, Object> paramsMap = new HashMap<String, Object>();paramsMap.put("file", file);paramsMap.put("fileName", fileName);try {String josn = HttpUtils.post(url, paramsMap);Log.i(TAG, josn);} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
是不是封装后代码简洁多了。
0 0
- 对于httpclient上传文件的封装
- HttpClient 实现文件的上传
- 封装的上传文件
- 轻松把玩HttpClient之封装HttpClient工具类(九),添加多文件上传功能
- httpClient上传图片文件的功能
- 使用HttpClient实现文件的上传
- httpclient 上传文件
- httpclient上传文件
- httpclient 上传文件
- httpclient 上传文件
- HttpClient 3.1 文件上传
- HttpClient 4 - 文件上传
- common-httpclient上传文件
- android httpclient 上传文件
- Httpclient上传文件
- 使用httpclient上传文件
- HttpClient 4 - 文件上传
- httpclient 上传文件
- 基于MJRefresh的自定义下拉刷新
- Java反射
- 最新版FusionCharts3D柱状图
- Unix时间戳
- JS中cookie的基本使用
- 对于httpclient上传文件的封装
- CoVH之柯南开锁
- leetcode.355. Design Twitter
- 引用
- android操作sqlite数据库及心得
- Method Size Limit in Java
- 虚函数
- opengl中天空盒缝隙消除的解决办法!
- 120. Triangle