CDN配置及和java中使用

CDN内容分发概念->将我们的静态资源缓存到全国个个节点,服务就近访问原则


七牛云提供的Java SDK文档:https://developer.qiniu.com/kodo/sdk/1239/java#upload-flow

七牛云配置

1. 新建存储空间

使用存储空间需要先进行身份认证。

点击:产品->对象存储->立即使用

CDN配置及和java中使用_第1张图片

2. 上传静态文件

进入创建的空间后点击内容管理->上传文件

CDN配置及和java中使用_第2张图片

 关闭后在内容管理查看上传的文件

CDN配置及和java中使用_第3张图片


java上传文件到七牛云

1. 引入pom



	com.qiniu
	qiniu-java-sdk
	7.2.0

2. 代码

package com.chuangqi.utils.qiniuyun;

import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;

/**
 * 通过文件路径方式上传文件到七牛云
 *   将css、js、图片等静态文件保存到七牛云,然后在项目引用到静态文件路径的地方改为七牛云生成的域 
 *   名地址即可。
 *
 * @author qizhentao
 * @version V1.0
 */
public class UploadQiNiuYun {
	
	public static void main(String[] args) {
		// 1. 先将用户上传图片或文件保存到自己服务器上(自己服务器上文件当做备份)
		// 2. 再将图片通过路径方式上传七牛云(或者忽略第一步直接把file文件存储到七牛云)
		UploadQiNiuYun.addQiNiuYun("C:/Users/cq/Desktop/111.png");	
	}
	
	public static void addQiNiuYun(String fileUrl) {
		//构造一个带指定Zone对象的配置类
		Configuration cfg = new Configuration(Zone.zone0());
		//...其他参数参考类注释
		
		UploadManager uploadManager = new UploadManager(cfg);
		//...生成上传凭证,然后准备上传; accessKey和secretKey在个人中心>密钥管理中查看
		String accessKey = "7pCQPL-uHF3fBHXZ7CH9nK94PfGm*********"; 
		String secretKey = "uDbKrCZKzp6M-nqUdHnWmERhEkE6*********";
		String bucket = "test_mayi_0"; // 新建的存储空间名称
		
		//默认不指定key的情况下,以文件内容的hash值作为文件名
		String key = fileUrl.substring(fileUrl.lastIndexOf("/") + 1, fileUrl.length());// 分割url获取图片名称
		
		Auth auth = Auth.create(accessKey, secretKey);
		String upToken = auth.uploadToken(bucket);

		try {
		    Response response = uploadManager.put(fileUrl, key, upToken);
		    //解析上传成功的结果
		    DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
		    System.out.println(putRet.key);// 上传七牛云的文件名称
		    System.out.println(putRet.hash);// 上传七牛云的文件hash值
		} catch (QiniuException ex) {
		    Response r = ex.response;
		    System.err.println(r.toString());
		    try {
		        System.err.println(r.bodyString());
		    } catch (QiniuException ex2) {
		        //ignore
		    }
		}
	}
	
}

3. 修改指向静态文件的路径

如:将jqeury.js文件改为放在七牛云上的jquery.js

你可能感兴趣的:(CDN)