import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
import java.util.concurrent.Callable;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageTypeSpecifier;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import org.apache.commons.lang.StringUtils;
import com.grand.mysql_handler.mapper.SystemMapper;
import net.sf.json.JSONObject;
private String uploadImage(String name,byte[] buf) throwsException {
String filename= name.substring(name.lastIndexOf("/") + 1);final String newLine = "\r\n";final String boundaryPrefix = "--";final String boundary = "----theorydance";
String api_url = "http://localhost:8080/filestorage/app/api/fileUpload";
HttpURLConnection conn= (HttpURLConnection) newURL(api_url).openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setReadTimeout(20000);
conn.setConnectTimeout(5000);
conn.setRequestMethod("POST");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("Charset", "UTF-8");
conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" +boundary);
StringBuilder sb= newStringBuilder();//key参数
sb.append(boundaryPrefix + boundary +newLine);
sb.append("Content-Disposition: form-data; name=\"name\"" +newLine);
sb.append(newLine);
sb.append((name==null?"default":name) +newLine);//图片数据
sb.append(boundaryPrefix + boundary +newLine);
sb.append("Content-Disposition: form-data; name=\"myfile\"; filename=\""+filename+"\"" +newLine);
sb.append("Content-Type: application/octet-stream" +newLine);
sb.append(newLine);
OutputStream out= newDataOutputStream(conn.getOutputStream());
out.write(sb.toString().getBytes());
out.write(buf);
out.write(newLine.getBytes());
String endFlag= boundaryPrefix + boundary + boundaryPrefix +newLine;
out.write(endFlag.getBytes());
out.flush();
out.close();
System.out.println("响应状态码:"+conn.getResponseCode());
BufferedReader br= new BufferedReader(newInputStreamReader(conn.getInputStream()));
String line= null;
String content= "";while((line=br.readLine())!=null) {
content+=line;
}
JSONObject json=JSONObject.fromObject(content);
System.out.println(json.toString());return json.getJSONObject("data").getString("url");
}