清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | public class Sample { private static final Log log = LogFactory.getLog(Sample. class ); // ---------------------------------------- static String host = "bcs.duapp.com" ; static String accessKey = "XXXXXXXXXXXXXXXXXX" ; //注册百度的时候,分配的accessKey static String secretKey = "XXXXXXXXXXXXXXXXXXXXXXXX" ; //注册百度的时候,分配的secretKey static String bucket = "XXXbucket" ; //在百度平台建立的bucket public static void main(String[] args) throws URISyntaxException, IOException { // TODO Auto-generated method stub BCSCredentials BCSCredentials credentials = new BCSCredentials(accessKey, secretKey); BaiduBCS baiduBCS = new BaiduBCS(credentials, host); // baiduBCS.setDefaultEncoding("GBK"); baiduBCS.setDefaultEncoding( "UTF-8" ); // Default UTF-8 try { String object = "/net_File" ; //上传到百度云存储上面的文件名称 putObjectByFile(baiduBCS, object); } catch (BCSServiceException e) { log.warn( "Bcs return:" + e.getBcsErrorCode() + ", " + e.getBcsErrorMessage() + ", RequestId=" + e.getRequestId()); } catch (BCSClientException e) { e.printStackTrace(); } } public static void inputstreamtofile(InputStream ins, File file) throws IOException { OutputStream os = new FileOutputStream(file); int bytesRead = 0 ; byte [] buffer = new byte [ 8192 ]; while ((bytesRead = ins.read(buffer, 0 , 8192 )) != - 1 ) { os.write(buffer, 0 , bytesRead); } os.close(); ins.close(); } public static void putObjectByFile(BaiduBCS baiduBCS, String object) throws IOException { ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentType( "image/jpeg" ); InputStream in = null ; URL url = new URL(http: //p2.qhimg.com/t014aca5713dd7b7474.jpg); //从网上解析图片 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod( "GET" ); conn.setConnectTimeout( 5 * 1000 ); InputStream inStream = conn.getInputStream(); Thumbnails.of(inStream).size( 100 , 100 ).toFile( "upload/test.jpg" ); 生成缩略图片 File file = new File( "upload/test.jpg" ); //暂时保存本地 byte [] buffer_data = getBytes( "upload/test.jpg" ); //加载本地缩略图片 in = ByteToInputStream(buffer_data,in); metadata.setContentLength(buffer_data.length); metadata.setContentLength(buffer_data.length); PutObjectRequest request = new PutObjectRequest(bucket, object, in, metadata); request.setMetadata(metadata); BaiduBCSResponse<ObjectMetadata> response = baiduBCS.putObject(request); ObjectMetadata objectMetadata = response.getResult(); log.info( "x-bs-request-id: " + response.getRequestId()); log.info(objectMetadata); file.delete(); //删除本地图片 } public static byte [] getBytes(String filePath) { byte [] buffer = null ; try { File file = new File(filePath); // 得到文件的byte流.... System.out.println(file.length()); FileInputStream fis = new FileInputStream(file); ByteArrayOutputStream bos = new ByteArrayOutputStream( 1000 ); byte [] b = new byte [ 1000 ]; int n; while ((n = fis.read(b)) != - 1 ) { bos.write(b, 0 , n); } fis.close(); bos.close(); buffer = bos.toByteArray(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return buffer; } public static String bytesToHexString( byte [] src) { StringBuilder stringBuilder = new StringBuilder(); if (src == null || src.length <= 0 ) { return null ; } for ( int i = 0 ; i < src.length; i++) { int v = src[i] & 0xFF ; String hv = Integer.toHexString(v); if (hv.length() < 2 ) { stringBuilder.append( 0 ); } stringBuilder.append(hv); } return stringBuilder.toString(); } public static InputStream ByteToInputStream( byte buffer[], InputStream in) { in = new ByteArrayInputStream(buffer); return in; } } |