七牛云后台上传图片+springboot

  1. 搭建SpringBoot框架

  2. pom.xml 引入依赖



   <!-- 七牛云上传图片 -->
	    <dependency>
			  <groupId>com.qiniu</groupId>
			  <artifactId>qiniu-java-sdk</artifactId>
			  <version>[7.2.0, 7.2.99]</version>
		</dependency>
		   <!-- 七牛云前台上传图片 需要引入SDK-->
	  <dependency>
	      <groupId>com.qiniu</groupId>
	      <artifactId>qiniu-java-sdk</artifactId>
	      <version>7.2.6</version>
	      <scope>compile</scope>
	    </dependency>
	    <dependency>
	      <groupId>com.squareup.okhttp3</groupId>
	      <artifactId>okhttp</artifactId>
	      <version>3.3.1</version>
	      <scope>compile</scope>
	    </dependency>
	    <dependency>
	      <groupId>com.google.code.gson</groupId>
	      <artifactId>gson</artifactId>
	      <version>2.6.2</version>
	      <scope>compile</scope>
	    </dependency>
	    <dependency>
	      <groupId>com.qiniu</groupId>
	      <artifactId>happy-dns-java</artifactId>
	      <version>0.1.4</version>
	      <scope>compile</scope>
	    </dependency>
		

3.注册七牛云的账户 获取 ak sk
点击 “管理控制台”
这里写图片描述
然后点击 “个人中心”
这里写图片描述
然后 点击“密钥管理 ” 就可以看到 ak sk 了
这里写图片描述
4.申请对象存储空间 存储空间名 下边要用到
这里写图片描述

5.引入上传后台代码工具类

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;


import com.qiniu.util.Auth;
import com.qiniu.util.Base64;
import com.qiniu.util.StringMap;
import com.qiniu.util.UrlSafeBase64;
import com.sun.glass.ui.View;

import okhttp3.*;
// ---------------------七牛云-------------------
public class Put64 {
  
   //  获取七牛云的 uptoken
    public static String getUpToken() {  
  	    String ak = "";//第三步 获得的七牛云的ak
    	    String sk = ""; // 第三步 获得的七牛云的sk
    	    Auth auth = Auth.create(ak, sk);    // TODO Auto-generated constructor stub 
    	    String bucketname = "";    //第四部 自己申请的存储对象空间名 空间名
        return auth.uploadToken(bucketname, null, 3600, new StringMap().put("insertOnly", 1));
    }    
    //上传   本地上传
    @SuppressWarnings("resource")    //传入路径
	public Response put64image(String key) throws Exception {
        String file = "E:\\GIF动画文件\\2.jpg";//本地图片路径
        FileInputStream fis = null;        
        int l = (int) (new File(file).length());        
        byte[] src = new byte[l];
        fis = new FileInputStream(new File(file));
        fis.read(src);
        String file64 = Base64.encodeToString(src, 0);
        String url = "http://upload.qiniup.com/putb64/" + l+"/key/"+ UrlSafeBase64.encodeToString(key);      
         //非华东空间需要根据注意事项 1 修改上传域名
        RequestBody rb = RequestBody.create(null, file64);
        Request request = new Request.Builder().
                url(url).
                addHeader("Content-Type", "application/octet-stream")
                .addHeader("Authorization", "UpToken " + getUpToken())
                .post(rb).build();
        System.out.println(request.headers());
        OkHttpClient client = new OkHttpClient();
        okhttp3.Response response = client.newCall(request).execute();
        System.out.println(response);
           return response;
    }   

	//下载图片
    public void clickDown(View view) {
    	        
    	    }
    //删除
    public  Response deleteqiniu(String key){
    	//获取Auth对象
    	String ak = "";
    	String sk = "";    // 密钥配置
    	Auth auth = Auth.create(ak, sk);  
        //指定需要删除的空间和文件,格式为: <bucket>:<key>
        String entry = ""+key;
        //通过安全base64编码方式进行编码处理
        String encodedEntryURI = UrlSafeBase64.encodeToString(entry);
        //指定接口
        String target = "/delete/" + encodedEntryURI + "\n";
        //获取token,即操作凭证
        String access_token = auth.sign(target);
        //指定好请求的delete接口地址
        String url = "http://rs.qiniu.com/delete/" + encodedEntryURI;
        //通过Okhttp jar 包封装的对象 发起网络请求
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder().url(url)
                .addHeader("Content-Type", "application/x-www-form-urlencoded")
                .addHeader("Authorization", "QBox " + access_token).build();
        Response re = null;
        try {
            re = client.newCall(request).execute();
             return re;
        } catch (IOException e) {
            e.printStackTrace();
        }
		return re;
    
    }
  
    public static void main(String[] args) throws Exception {   
  	  //调用上传   
    	  String key="twoCo.png";
    	  Put64 p=new Put64();
          Response r=p.put64image(key);
          System.out.println(r);
        //  Response{protocol=http/1.1, code=200, message=OK, url=http://upload.qiniup.com/putb64/214466/key/YXNk}
         //测试删除
    	/*Put64 p=new Put64();
    	Response re=p.deleteqiniu("hh");
    	System.out.println(re);
    	System.out.println("输出结果"+re.code());*/
    //   System.out.println(	getUpToken());
    	
    }
     
     
}

如有缺少 请留言


版权声明:本文为qq_42754347原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。