InputStream輸入流七牛上傳圖片
阿新 • • 發佈:2018-11-13
InputStream輸入流七牛上傳圖片
流程
匯入七牛Maven jar包
<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>7.2.11</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.qiniu</groupId> <artifactId>happy-dns-java</artifactId> <version>0.1.4</version> <scope>compile</scope> </dependency>
直接呼叫配置類以及上傳類,獲取返回檔名字
配置類
public class QIniu { //七牛相關配置資訊(本人是通過讀取yaml配置檔案讀取七牛配置引數) public static final String QINIU_DOMAIN=AllConfig.getAllConfig().get("QINIU_DOMAIN_IMAGE").toString(); public static final String QINIU_BASE_URL = AllConfig.getAllConfig().get("QINIU_BASE_URL_IMAGE").toString(); public static final String QINIU_AK = AllConfig.getAllConfig().get("QINIU_AK").toString(); public static final String QINIU_SK = AllConfig.getAllConfig().get("QINIU_SK").toString(); }
上傳類
/** * 圖片訪問的外鏈 * @author Jian * */ public class QiniuUpload { public String uploadImgImputStream(InputStream itm,String key) { Configuration cfg = new Configuration(Zone.zone2()); //...其他引數參考類註釋 UploadManager uploadManager = new UploadManager(cfg); String upToken=getUpTokens(); try { Response response = uploadManager.put(itm,key,upToken,null, null); //解析上傳成功的結果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); return putRet.key; } catch (QiniuException ex) { Response r = ex.response; System.out.println(r.toString()); try { System.out.println(r.bodyString()); } catch (QiniuException ex2) { //ignore } } return null; } /** * 獲取簽名 * @author Jian * */ public String getUpTokens() { Auth auth = Auth.create(QIniu.QINIU_AK, QIniu.QINIU_SK); return auth.uploadToken(QIniu.QINIU_DOMAIN); }
demo
/**
* 路徑:拼接QINIU_BASE_URL
* QIniu.QINIU_BASE_URL+返回名字
* JsonResult只是本人自定義的資料類
* @author Jian
*
*/
public JsonResult<Void> upload(HttpServletRequest request,HttpServletResponse response,@RequestParam("file") MultipartFile file) throws IOException {
//轉換成流
InputStream is = file.getInputStream();
JsonResult<Void>jr=new JsonResult<Void>();
String fileName = String.valueOf(System.currentTimeMillis());
QiniuUpload qiniu = new QiniuUpload();
//呼叫上傳類上傳
String f= qiniu.uploadImgImputStream(is,fileName);
if(!f.isEmpty()) {
jr.setData(QIniu.QINIU_BASE_URL+f);
jr.setState(1);
}
return jr;
}
筆記demo