public static String getSuffix(final MultipartFile file){ if(file == null || file.getSize() == 0){ return null; } String fileName = file.getOriginalFilename(); return fileName.substring(fileName.lastIndexOf(".")+1); } public static JSONObject uploadFile(String urlStr, MultipartFile file, String token) throws IOException { // 後綴 String suffix = getSuffix(file); CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost uploadFile = new HttpPost(urlStr); uploadFile.setHeader("authorization","Bearer " + token); DecimalFormat df = new DecimalFormat("#.##"); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); // HTTP.PLAIN_TEXT_TYPE,HTTP.UTF_8 builder.addTextBody("name", file.getOriginalFilename(), ContentType.create("text/plain", Consts.UTF_8)); builder.addTextBody("size", df.format((double) file.getSize() / 1024), ContentType.TEXT_PLAIN); builder.addTextBody("suffix", suffix, ContentType.TEXT_PLAIN); // 把文件加到HTTP的post請求中 // String filepath = "/user/test/123.png" // File f = new File(filepath); builder.addBinaryBody( "file", file.getInputStream(), // new FileInputStream(f), ContentType.APPLICATION_OCTET_STREAM, file.getOriginalFilename() ); HttpEntity multipart = builder.build(); uploadFile.setEntity(multipart); CloseableHttpResponse response = httpClient.execute(uploadFile); HttpEntity responseEntity = response.getEntity(); String sResponse= EntityUtils.toString(responseEntity, "UTF-8"); JSONObject jsonObject = JSONObject.parseObject(sResponse); // {"code":1,"data":"7efb19980373dd90f5077576afa7481a","message":""} // {"code":401,"httpStatus":null,"data":"373656a2-baff-423a-93fb-704f51003509","message":"error"} return jsonObject; }
兩張方式:java
CloseableHttpClient httpClient = HttpClients.createDefault(); String urlStr ="http://abc.com/oss/getUrl?id=" + ossFileId; HttpGet httpGet = new HttpGet(urlStr); // 使用Oauth2進行權限驗證 httpGet.setHeader("authorization","Bearer 34195fa8-00a6-4288-bda9-7d37541c3a39"); CloseableHttpResponse response = httpClient.execute(httpGet); HttpEntity responseEntity = response.getEntity(); String sResponse= EntityUtils.toString(responseEntity, "UTF-8"); System.out.println(sResponse); JSONObject jsonObject = JSONObject.parseObject(sResponse); System.out.println(jsonObject);
CloseableHttpClient httpClient = HttpClients.createDefault(); /* * 因爲GET請求的參數都是拼裝在URL地址後方,因此咱們要構建一個URL,帶參數 */ URIBuilder uriBuilder = new URIBuilder("http://www.baidu.com"); /** 第一種添加參數的形式 */ /*uriBuilder.addParameter("name", "root"); uriBuilder.addParameter("password", "123456");*/ /** 第二種添加參數的形式 */ List<NameValuePair> list = new LinkedList<>(); BasicNameValuePair param1 = new BasicNameValuePair("name", "root"); BasicNameValuePair param2 = new BasicNameValuePair("password", "123456"); list.add(param1); list.add(param2); uriBuilder.setParameters(list); // 根據帶參數的URI對象構建GET請求對象 HttpGet httpGet = new HttpGet(uriBuilder.build()); // 使用Oauth2進行權限驗證 httpGet.setHeader("authorization","Bearer 34195fa8-00a6-4288-bda9-7d37541c3a39"); CloseableHttpResponse response = httpClient.execute(httpGet); HttpEntity responseEntity = response.getEntity(); String sResponse= EntityUtils.toString(responseEntity, "UTF-8"); System.out.println(sResponse); JSONObject jsonObject = JSONObject.parseObject(sResponse); System.out.println(jsonObject);
本文由博客一文多發平臺 OpenWrite 發佈!json