从网络爬取图片,生成缩略图,保存到百度云存储!
发布时间:2020-12-15 03:14:23 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 http://my.oschina.net/tdd/blog/365160 public class Sample { private static final Log log = LogFactory.getLog(Sample.class); // -------------
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 http://my.oschina.net/tdd/blog/365160public 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,8192)) != -1) { os.write(buffer,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,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; } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- java – Android Google Maps V2 – Sd卡作为Til
- java – Desktop.open()在某些JRE上静默失败
- 如何修复java中的“Missing return statement”
- java – 如何在scala中进行内存分配
- java – 为什么我们不能创建Collections类的实例
- java – Jenkins:无法运行程序“docker”:erro
- 分享Java性能调优的11个实用技巧
- java – 无法让@Rollback为我的Spring JPA集成测
- java – 有没有办法阻止动作侦听器在调用setSele
- .net – ConcurrentDictionary的乐观并发Remove方
热点阅读