<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId>
</dependency>
//java上传流文件,二进制流文件
//java 七牛上传 @RequestMapping("/file") public ResponseEntity<Object> sendQiniuFile(MultipartFile file) { Configuration cfg = new Configuration(Zone.zone0()); UploadManager uploadManager = new UploadManager(cfg); String accessKey = "你自己的ak"; String secretKey = "你自己的sk"; String bucket = "你自己的bucket"; DefaultPutRet putRet = null; try { //密钥配置 String key = file.getOriginalFilename(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
//增加文件后缀名的时间戳 String str = simpleDateFormat.format(new Date()); String newKey = key.substring(0 ,key.indexOf(".")) + "-"+str + key.substring(key.lastIndexOf("."));
//例如:账号配置-20180201181253.xlsx InputStream inputStream = file.getInputStream(); byte[] bytes = this.readStream(inputStream); ByteArrayInputStream byteInputStream = new ByteArrayInputStream(bytes); Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); Response res = uploadManager.put(byteInputStream ,newKey,upToken,null, null); //解析上传成功的结果 putRet = new Gson().fromJson(res.bodyString(), DefaultPutRet.class); System.out.println(putRet.key); System.out.println(putRet.hash); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return ResponseUtil.success(putRet); } public static byte[] readStream(InputStream inStream) throws Exception{ ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = -1; while((len = inStream.read(buffer)) != -1){ outStream.write(buffer, 0, len); } outStream.close(); inStream.close(); return outStream.toByteArray(); }