java sdk文档下载_Java SDK 历史文档

此SDK适用于Java 6及以上版本。

安装

添加依赖

com.qiniu

qiniu-java-sdk

[6.1.7, 6.999]

配置密钥

要接入七牛云存储,您需要拥有一对有效的 Access Key 和 Secret Key 用来进行签名认证。可以通过如下步骤获得:

在获取到 Access Key 和 Secret Key 之后,您可以按照如下方式进行密钥配置:

import com.qiniu.api.config.Config;

public class Init {

public static void main(String[] args) {

Config.ACCESS_KEY = "";

Config.SECRET_KEY = "";

}

}

上传

为了尽可能地改善终端用户的上传体验,七牛云存储首创了客户端直传功能。

一般云存储的上传流程是:

客户端(终端用户) => 业务服务器 => 云存储服务

这样通过用户自己的业务服务器中转上传至云存储服务端。这种方式存在一些不足:

多了一次中转的上传过程,同数据存放在用户的业务服务器中相比,会相对慢一些;

增加了用户业务服务器的负载,消耗了带宽,占用了磁盘,降低了服务能力;

增加了用户的流量消耗,来自终端用户的上传数据进入业务服务器,然后再次上传至云存储服务,净增一倍流量。

因此,七牛云存储引入了客户端直传的模式,将整个上传过程调整为:

客户端(终端用户) => 七牛 => 业务服务器

客户端(终端用户)直接上传到七牛的服务器。通过DNS智能解析,七牛会选择到离终端用户最近的ISP服务商节点,速度会相比数据存放在用户自己的业务服务器上的方式更快。而且,七牛云存储可以在用户文件上传成功以后,替用户的客户端向用户的业务服务器发送反馈信息,减少用户的客户端同业务服务器之间的交互。详情请参考上传策略

注意:如果您只是想要将您电脑上,或者是服务器上的文件上传到七牛云存储,可以直接使用七牛提供的 qshell上传工具,而无需额外开发。

文件上传有两种方式:普通方式,即一次性上传整个文件;断点续上传,即将文件分割成若干小块,分别上传,然后在七牛云存储服务端重新合并成一个文件。一般情况下,用户可以采用普通上传。如果文件较大,或者网络条件不佳,那么可以使用断点续上传,提高上传的速度和成功率。

上传流程

在七牛云存储中,整个上传流程大体分为这样几步:

业务服务器颁发上传凭证给客户端(终端用户)

客户端凭借上传凭证上传文件到七牛

在七牛获得完整数据后,根据用户请求的设定执行以下操作:

如果用户设定了 returnUrl ,七牛云存储将反馈一个指向returnUrl的HTTP 303,驱动客户端执行跳转。

如果用户设定了 callbackUrl] ,七牛云存储将向callbackUrl指定的地址发起一个HTTP 请求回调业务服务器,同时向业务服务器发送数据。发送的数据内容由 callbackBody 指定。业务服务器完成回调的处理后,可以在HTTP Response中放入数据,七牛云存储会响应客户端,并将业务服务器反馈的数据发送给客户端。

如果两者都没有设置,七牛云存储根据 returnBody 的设定向客户端发送反馈信息。

注意:回调到业务服务器的过程是可选的,它取决于业务服务器颁发的上传凭证。

如果没有回调,七牛会返回一些标准的信息(比如文件的 hash)给客户端。如果上传发生在业务服务器,以上流程可以自然简化为:

业务服务器生成上传凭证 不设置回调,自己回调到自己这里没有意义)

凭借上传凭证上传文件到七牛

善后工作,比如保存相关的一些信息

生成上传授权uptoken

uptoken是一个字符串,作为http协议Header的一部分(Authorization字段)发送到我们七牛的服务端,表示这个http请求是经过用户授权的。

import com.qiniu.api.auth.digest.Mac;

import com.qiniu.api.config.Config;

import com.qiniu.api.rs.PutPolicy;

public class Uptoken {

public static void main(String[] args) throws Exception {

Config.ACCESS_KEY = "";

Config.SECRET_KEY = "";

Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);

// 请确保该bucket已经存在

String bucketName = "Your bucket name";

PutPolicy putPolicy = new PutPolicy(bucketName);

String uptoken = putPolicy.token(mac);

}

}

上传代码

上传本地文件。如果用户从自己的计算机或服务器上传文件,可以直接使用七牛云存储提供的 qrsync 工具。用户也可以自行编写上传程序。

上传程序大体步骤如下:

设置AccessKey和SecretKey;

创建Mac对象;

创建PutPolicy对象;

生成UploadToken;

创建PutExtra对象;

调用put或putFile方法上传文件;

具体代码如

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值