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

猜你喜欢

转载自blog.csdn.net/weixin_43681882/article/details/84023120