import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.UUID;
public class TestQrcode {
public static void main(String[] args) throws Exception{
URL url = new URL(“http://localhost:8180/xxxx“);
//自己生一个boundary
String boundary = UUID.randomUUID().toString().replace(“-“, “”);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod(“POST”);
conn.setDoOutput(true);
//指定Content-Type为multipart/form-data,并且指定一下boundary
conn.setRequestProperty(“Content-Type”, “multipart/form-data; boundary=” + boundary);
conn.setReadTimeout(5000);
conn.setConnectTimeout(5000);
File file = new File(“E:\qr2.jpg”);
InputStream is = new FileInputStream(file);
OutputStream os = conn.getOutputStream();
//注意注意:这里先发两个横杠哦!
os.write((“–” + boundary + “\r\n”).getBytes());
os.write((“Content-Disposition: form-data; name=\”file\”; filename=\”” + file.getName() + “\”\r\n”).getBytes());
os.write(“Content-Type: image/jpeg\r\n\r\n”.getBytes());
byte[] b = new byte[200];
int len = 0;
while(-1 != (len = is.read(b))){
os.write(b,0,len);
}
os.write(“\r\n”.getBytes());
//注意注意:格式是:–boundary–。两个横杠加boundary,然后再有两个横杠
os.write((“–” + boundary + “–\r\n”).getBytes());
os.flush();
os.close();
is.close();
InputStream is2 = conn.getInputStream();
BufferedReader buf = new BufferedReader(new InputStreamReader(is2));
for(String line = buf.readLine(); null != line;line = buf.readLine()){
System.out.println(line);
}
is2.close();
}
}
HTTP上传文件的boundary
最新推荐文章于 2024-07-30 18:13:32 发布