java 对接七牛云遇到的问题

最近有个项目需要上传大量图片,由于公司tfs服务网络较慢,就试试使用下外部公有云,业界较出名的七牛云。
说来对接也相当简单,只需如下借个步骤即可:
1.注册一个七牛云账号并认证下(七牛官网https://www.qiniu.com/)
2.注册完成后就会有个人秘钥啦

java 对接七牛云遇到的问题_第1张图片
image.png

3.上传图片(java 代码示例)

package com.fc.service;

import com.fc.util.MyConstant;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import org.springframework.stereotype.Service;

import java.io.IOException;

@Service
public class QiniuService {
    // 设置好账号的ACCESS_KEY和SECRET_KEY
    private String ACCESS_KEY = MyConstant.QINIU_ACCESS_KEY;
    private String SECRET_KEY = MyConstant.QINIU_SECRET_KEY;
    // 要上传的空间
    private String BUCKET_NAME = MyConstant.QINIU_BUCKET_NAME;
    // 密钥配置
    private Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
    // 创建上传对象
    Zone z = Zone.autoZone();
    Configuration c = new Configuration(z);
    private UploadManager uploadManager = new UploadManager(c);
    // 简单上传,使用默认策略,只需要设置上传的空间名就可以了
    public String getUpToken() {
        System.out.println("*******************************************");
        System.out.println(auth.uploadToken(BUCKET_NAME));
        System.out.println("*******************************************");
        return auth.uploadToken(BUCKET_NAME);
    }

    public void upload(byte[] localData,String remoteFileName) throws IOException {
        System.out.println("*******************************************");
        System.out.println(localData.length);
        System.out.println(remoteFileName);
        System.out.println("*******************************************");
        Response res = uploadManager.put(localData, remoteFileName, getUpToken());
        // 打印返回的信息
        System.out.println(res.bodyString());
    }

}

图二中的 AK : ACCESS_KEY
SK: SECRET_KEY
BUCKET_NAME : 是我们注册七牛账号后会同时创建一个储存空间,BUCKET_NAME是这个储存空间名而已。

4.调用 upload方法即可


很容易的一个demo,但在测试中还是有出现问题,找了好久都没办法,仅仅报一个Exception
com.qiniu.common.QiniuException

at com.qiniu.http.Client.send(Client.java:208)

at com.qiniu.http.Client.multipartPost(Client.java:181)

at com.qiniu.http.Client.multipartPost(Client.java:149)

at com.qiniu.storage.FormUploader.upload(FormUploader.java:52)

at com.qiniu.storage.UploadManager.put(UploadManager.java:126)

at com.qiniu.storage.UploadManager.put(UploadManager.java:104)

at com.fc.service.QiniuService.upload(QiniuService.java:35)

at com.fc.controller.IndexController.upload(IndexController.java:85)

经过与七牛工程沟通后,提高七牛jar包版本,降低所有运行jdk版本即可。

java 对接七牛云遇到的问题_第2张图片
image.png
java 对接七牛云遇到的问题_第3张图片
image.png

在启动运行,上传成功!ok!

你可能感兴趣的:(java 对接七牛云遇到的问题)