htttpost模拟HTML中表单提交中的文件上传功能
2014-11-07 18:17
796 查看
import java.io.File;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.util.CharsetUtils;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSONObject;
import com.elong.hotel.proxy.file.entity.model.FileInfo;
public class Test2 {
public static void main(String[] args) {
System.out.println("start");
Test2 t = new Test2();
String fileurl = "E:\\数据库文档\\BMS新增数据表.docx";
String url = "http://localhost:8080/FileStorage/UploadFile";
t.postDataFile(url, fileurl);
}
public void postDataFile(String serverUrl, String fileurl) {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(serverUrl);
post.setHeader("accept", "application/json");// 必传
HttpEntity mpEntity=null;
try {
File file = new File(fileurl);
FileBody fileBody = new FileBody(file);
mpEntity= MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE).addPart("file", fileBody).setCharset(CharsetUtils.get("UTF-8")).build();
post.setEntity(mpEntity);
HttpResponse response = client.execute(post);
if (response.getStatusLine().getStatusCode() == 200) {
String content = EntityUtils.toString(response.getEntity(),
"iso8859-1");
System.out.println(content);
FileInfo fileInfo = JSONObject.parseObject(content, FileInfo.class);
System.out.println(fileInfo.getId());
} else {
System.out.println(EntityUtils.toString(response.getEntity()));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (mpEntity != null) {
try {
mpEntity.consumeContent();
} catch (UnsupportedOperationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
client.getConnectionManager().shutdown();
}
}
}
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.util.CharsetUtils;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSONObject;
import com.elong.hotel.proxy.file.entity.model.FileInfo;
public class Test2 {
public static void main(String[] args) {
System.out.println("start");
Test2 t = new Test2();
String fileurl = "E:\\数据库文档\\BMS新增数据表.docx";
String url = "http://localhost:8080/FileStorage/UploadFile";
t.postDataFile(url, fileurl);
}
public void postDataFile(String serverUrl, String fileurl) {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(serverUrl);
post.setHeader("accept", "application/json");// 必传
HttpEntity mpEntity=null;
try {
File file = new File(fileurl);
FileBody fileBody = new FileBody(file);
mpEntity= MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE).addPart("file", fileBody).setCharset(CharsetUtils.get("UTF-8")).build();
post.setEntity(mpEntity);
HttpResponse response = client.execute(post);
if (response.getStatusLine().getStatusCode() == 200) {
String content = EntityUtils.toString(response.getEntity(),
"iso8859-1");
System.out.println(content);
FileInfo fileInfo = JSONObject.parseObject(content, FileInfo.class);
System.out.println(fileInfo.getId());
} else {
System.out.println(EntityUtils.toString(response.getEntity()));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (mpEntity != null) {
try {
mpEntity.consumeContent();
} catch (UnsupportedOperationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
client.getConnectionManager().shutdown();
}
}
}
相关文章推荐
- java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例
- android 文件上传(模拟表单提交)
- java 模拟表单方式提交上传文件
- java 模拟表单方式提交上传文件
- 模拟提交有文件上传的表单(通过http模拟上传文件)
- C#模拟form表单提交数据,上传文件
- 模拟HTML表单上传文件(RFC 1867)
- c# 模拟表单提交,post form 上传文件、大数据内容
- 模拟提交有文件上传的表单(通过http模拟上传文件)
- java通过模拟post方式提交表单实现图片上传功能实例
- c# 模拟提交带文件上传的表单
- httpurlconnection模拟post提交form表单(普通文本和上传文件) (
- jquery插件---模拟from表单上传文件,实现异步提交
- Servlet实现文件上传到服务器(不用表单,直接用代码模拟表单提交)
- android 文件上传(POST方式模拟表单提交)
- 使用Javascript XMLHttpRequest模拟表单(Form)提交上传文件
- 模拟HTML表单上传文件(RFC 1867)
- HttpClient4模拟带文件上传的表单提交
- Asp.Net模拟表单提交数据和上传文件的实现代码
- CURL模拟表单post提交及相关常用参数的使用(包括提交表单同时上传文件)