这个是图片上传的工具类方便自己以后调用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.UUID;
public class UploadUtils {
public static final int TIME_OUT = 10 * 1000;
public static final String PRE_LINE = "--";
public static String BOUNDARY = UUID.randomUUID().toString();
public static String END_LINE = "\r\n";
public static void UpFile(final String urlStr, final String request_type, final String account, final String aid, final String img_type, final String imgName, final String text, final File imgFile){
new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(TIME_OUT);
conn.setConnectTimeout(TIME_OUT);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("request_type", request_type);
conn.setRequestProperty("account", account);
conn.setRequestProperty("aid", aid);
conn.setRequestProperty("img_type", img_type);
conn.setRequestProperty("img_name", imgName);
conn.setRequestProperty("text", text);
conn.setRequestProperty("Charset", "utf-8");
conn.setRequestProperty("connection", "keep-alive");
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + BOUNDARY);
if (imgFile != null) {
StringBuffer sb = new StringBuffer();
sb.append(PRE_LINE + BOUNDARY + END_LINE);
sb.append("Content-Disposition: form-data; name=\"file\"; filename=" + imgFile.getName() + "\"" + END_LINE);
sb.append("Content-Type: application/octet-stream; chartset=utf-8" + END_LINE + END_LINE);
DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
dos.write(sb.toString().getBytes());
FileInputStream fis = new FileInputStream(imgFile);
int len = 0;
byte[] buf = new byte[8 * 1024];
while((len = fis.read(buf)) != -1){
dos.write(buf, 0, len);
}
dos.write(END_LINE.getBytes());
String end = (PRE_LINE + BOUNDARY + PRE_LINE + END_LINE);
dos.write(end.getBytes());
dos.flush();
int code = conn.getResponseCode();
int state = conn.getHeaderFieldInt("set_text_state", -1);
System.out.println(sb.toString());
System.out.println("code>>>" + code + ", state>>>" + state);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}