Android examples for Network:URL
upload File via URL
//package com.java2s; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class Main { static public String uploadFile(String uploadUrl, String name, String filename, String filePath, String raw_cookie) { String end = "\r\n"; String twoHyphens = "--"; String boundary = "*****"; String newName = filename; String uploadFile = filePath; ;/*from w ww .jav a 2 s . com*/ String actionUrl = uploadUrl; try { URL url = new URL(actionUrl); HttpURLConnection con = (HttpURLConnection) url .openConnection(); /* ???Input??Output?????Cache */ con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); /* ??????method=POST */ con.setRequestMethod("POST"); /* setRequestProperty */ con.setRequestProperty("Cookie", raw_cookie); con.setRequestProperty("Connection", "Keep-Alive"); con.setRequestProperty("Charset", "UTF-8"); con.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); /* ??DataOutputStream */ DataOutputStream ds = new DataOutputStream( con.getOutputStream()); ds.writeBytes(twoHyphens + boundary + end); ds.writeBytes("Content-Disposition: form-data; " + "name=\"" + name + "\";filename=\"" + newName + "\"" + end); ds.writeBytes(end); FileInputStream fStream = new FileInputStream(uploadFile); int bufferSize = 1024; byte[] buffer = new byte[bufferSize]; int length = -1; while ((length = fStream.read(buffer)) != -1) { ds.write(buffer, 0, length); } ds.writeBytes(end); ds.writeBytes(twoHyphens + boundary + twoHyphens + end); /* close streams */ fStream.close(); ds.flush(); /* ????Response?? */ InputStream is = con.getInputStream(); int ch; StringBuffer b = new StringBuffer(); while ((ch = is.read()) != -1) { b.append((char) ch); } ds.close(); return b.toString().trim(); } catch (Exception e) { return null; } } }