Android文件上传

来源:互联网 发布:淘宝退货运费规则 编辑:程序博客网 时间:2024/06/07 15:49
直接贴代码了,还不太会用博客。可怜
import java.io.File;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.mime.MultipartEntity;import org.apache.http.entity.mime.content.FileBody;import org.apache.http.entity.mime.content.StringBody;import org.apache.http.impl.client.DefaultHttpClient;/** *  表单参数值和多文件混合上传 * @author zhangJiaru * */public class FileUploadUtil {/** *  * @param hostURL 上传路径 * @param params 上传表单参数 * @param fileName 需要接收的参数名 * @param files 上传文件 * @param JSESSIONID session ID * @return HttpResponse */public HttpResponse post(String hostURL, HashMap<String, Object>params, String fileName, ArrayList<File> files,String JSESSIONID){          MultipartEntity mpEntity = new MultipartEntity();          /* 表单参数 */            if (params != null && !params.isEmpty()) {                for (Map.Entry<String, Object> entry : params.entrySet()) {                     //参数名                    StringBody par = null;try {par = new StringBody(entry.getValue().toString());} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}                    mpEntity.addPart(entry.getKey(), par);                }            }            /* 文件上传 */            if (files != null && !files.isEmpty()) {            for (File file:files) {       FileBody fileBody = new FileBody(file);//把文件转换成流对象FileBody       mpEntity.addPart(fileName,fileBody);        }            }            // 使用HttpPost对象设置发送的URL路径            HttpPost post = new HttpPost(hostURL);            post.setHeader("Cookie", "JSESSIONID=" + JSESSIONID);            // 发送请求体            post.setEntity(mpEntity);            // 创建一个浏览器对象,以把POST对象向服务器发送,并返回响应消息            DefaultHttpClient client = new DefaultHttpClient();            HttpResponse response = null;try {response = client.execute(post);} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}            return response;}}

0 0
原创粉丝点击