upyun java_又拍云文档中心

澹台鸿熙
2023-12-01

SDK 使用文档

PHP SDK¶

又拍云 PHP SDK 托管在 github ,它包含如下功能:1)存储管理;2)图片处理;3)音视频处理;4)缓存刷新。本段介绍 PHP SDK 的使用。

开发准备¶

运行环境

PHP SDK version 3.0,需要 PHP 版本 >= 5.5。您可以通过 php -v 命令查看当前的 PHP 版本。

安装

Composer 方式

Composer 是 PHP 的依赖管理工具。您可以在自己的项目中声明所依赖的外部工具库,Composer 会自动帮您安装这些依赖的库文件。

在项目根目录运行:

composer require upyun/sdk

源码方式

如果使用 Composer 方式较慢,可以直接下载SDK 包,放到项目根目录,然后把包导入工程中。

初始化¶

Config(配置)和 Upyun(连接)是 PHP SDK 的初始化类,在操作云存储、云处理之前,需要先实例化它们。

// 包含文件

require_once('vendor/autoload.php');

use Upyun\Upyun;

use Upyun\Config;

// 创建实例

$bucketConfig = new Config('您的服务名', '您的操作员名', '您的操作员密码');

$client = new Upyun($bucketConfig);

?>

说明,为了避免重复,后续 「功能使用」 中的 DEMO 不再包含这段代码,请在使用时注意。

功能使用¶

文件上传、图片处理(同步)

// 省略初始化代码

// 读文件

$file = fopen('/root/13.jpg', 'r');

// 上传文件

$res = $client->write('/up/dd.jpg', $file);

// 打印上传结果

print_r($res);

?>

说明,/root/13.jpg 为本地文件绝对路径,/up/dd.jpg 为保存到又拍云存储的路径及文件名。

// 省略初始化代码

// 读文件

$file = fopen('/root/13.jpg', 'r');

// 添加作图参数

$tasks = array('x-gmkerl-thumb' => '/format/png/fw/100');

// 上传文件

$res = $client->write('/up/dd.png', $file, $tasks);

// 打印上传结果

print_r($res);

?>

说明,上传图片同时,对图片进行处理,把处理后的图片存进存储。具体详见图片处理(同步)。

wzxhzdk:4

** 上传预处理 **

图片处理(同步)、图片处理(异步)、音视频处理(异步)、内容审核(异步)

-->

文件删除

// 省略初始化代码

// 单文件删除

$res=$client->delete('/up/dd.txt');

echo $res;

?>

说明,/up/dd.txt 为文件在又拍云存储的路径。结果为 1,表示删除成功。异常直接抛出。

目录创建和删除

// 省略初始化代码

// 创建目录

$res=$client->createDir('/up/tt/ss');

echo $res;

// 删除空目录

$res=$client->deleteDir('/up/tt/ss');

echo $res;

?>

说明,/up/tt/ss 为目录的路径。结果为 1,表示成功。异常直接抛出。

获取文件信息

// 省略初始化代码

$res=$client->info('/up/dd.jpg');

print_r($res);

?>

说明,/up/dd.jpg 为文件在又拍云存储的路径。结果以数组形式返回,内容包括:文件类型、文件大小和文件最后修改时间。

获取服务容量

// 省略初始化代码

$res=$client->usage();

echo $res;

?>

说明,结果为容量数值,单位字节。异常直接抛出。

Java SDK¶

又拍云 Java SDK 托管在 github ,它包含如下功能:1)存储管理;2)图片处理;3)音视频处理;4)缓存刷新。本段介绍 Java SDK 的使用。

开发准备¶

运行环境

Java SDK version 3.0+,需要 Java 版本 >= 6。可以通过 java -version 命令查看当前的 Java 版本。

安装

Maven 方式

Maven 是一个项目管理及自动构建工具。您可以在自己的项目中声明所依赖的外部工具库,Maven 会自动帮您安装这些依赖的库文件。

com.upyun

java-sdk

4.0.1

源码方式

除了 Maven 方式外,还可以直接下载SDK 包,放到项目根目录,然后把包导入工程中。

初始化¶

UpYun 是 Java SDK 的初始化类,在操作云存储、云处理之前,需要先实例化它。

// 创建实例

UpYun upyun = new UpYun('您的服务名', '您的操作员名', '您的操作员密码');

// 可选属性1,是否开启 debug 模式,默认不开启

upyun.setDebug(false);

// 可选属性2,超时时间,默认 30s

upyun.setTimeout(30);

说明,为了避免重复,后续 「功能使用」 中的 DEMO 不再包含初始化这段代码,请在使用时注意。

功能使用¶

文件上传、批量上传

REST API、FORM API

// 文件上传

upyun.setContentMD5(UpYun.md5('/root/13.jpg')); // 计算文件 MD5,如果文件太大或计算不便,可以不计算

boolean result4 = upyun.writeFile('/up/dd.jpg', '/root/13.jpg');

说明,/root/13.jpg 为本地文件绝对路径,/up/dd.jpg 为保存到又拍云存储的路径及文件名。

表单上传

// 定义保存路径

String savePath = "/uploads/{year}{mon}{day}/{random32}{.suffix}";

paramsMap.put(Params.SAVE_KEY, savePath);

// 上传文件

FormUploader uploader = new FormUploader(BUCKET_NAME, APIKEY, null);

Result result = uploader.upload(paramsMap, file); // file(File 类型) 表示一个待上传的文件

说明,savePath 的解释详见 FORM API 路径设置。

上传预处理

// 文件上传

boolean result3 = upyun.writeFile('/up/dd.jpg', '/root/13.jpg');

// 图片上传预处理(同步)

params.put(“x-gmkerl-thumb”,"/fw/300/unsharp/true/quality/80/format/png")

文件删除

// 单个文件删除

boolean result = upyun.deleteFile('/up/dd.jpg');

说明,/up/dd.jpg 为文件的路径。

目录创建和删除

// 创建目录

boolean result = upyun.mkDir('/up/tt/');

// 删除目录

boolean result = upyun.rmDir('/up/tt/');

说明,/up/tt/ 为目录的路径。

列目录

List items = upyun.readDir('/up/tt/');

说明,/up/tt/ 为目录的路径。结果返回目录下前 10000 个文件列表,超出 10000 个的不会返回,如果需要列出来,需要使用分页参数循环获取,直到取完。

获取文件信息

Map result = upyun.getFileInfo('/up/dd.jpg');

说明,/up/dd.jpg 为文件在又拍云存储的路径。结果以 Map 形式返回,内容包括:文件类型、文件大小和文件最后修改时间。

获取空间容量

long usage = upyun.getBucketUsage();

说明,结果为容量数值,单位字节。

Python SDK¶

又拍云 Python SDK 托管在 github ,它包含如下功能:1)存储管理;2)图片处理;3)音视频处理;4)缓存刷新。本段介绍 Python SDK 的使用。

开发准备¶

运行环境

Python SDK version 2.2+,适用于 Python 2.6、2.7、3.3、3.4 版本。可以通过 python -V 命令查看当前的 Python 版本。

Python SDK version 2.3+,不再直接使用默认标准库 httplib,使用基于 httplib 的 requests 这个第三方库。

安装

pip 方式

pip 是 Python 的依赖管理工具。您可以在自己的项目中声明所依赖的外部工具库,pip 会自动帮您安装这些依赖的库文件。

安装 requests

pip install requests

安装 Python SDK

pip install upyun

运行测试用例,判断安装成功与否

# 配置参数

export UPYUN_SERVICE=

export UPYUN_USERNAME=

export UPYUN_PASSWORD=

# 执行测试用例

make init test

源码方式

除了 pip 方式外,还可以直接下载 SDK 包,放到项目根目录,然后把包导入工程中。

初始化¶

UpYun 是 Python SDK 的初始化类,在操作云存储、云处理之前,需要先实例化它。

# 包含文件

import upyun

# 创建实例

up = upyun.UpYun('您的服务名', '您的操作员名', '您的操作员密码')

说明,为了避免重复,后续 「功能使用」 中的 DEMO 不再包含初始化这段代码,请在使用时注意。

功能使用¶

文件上传、图片处理(同步)

/*

* 参数说明

* checksum,表示是否进行 MD5 校验,如果是小文件,建议进行,为 True;如果是大文件,建议不进行,为 False

* headers,表示需要的头信息,见 REST API 上传文件

*/

headers = { 'x-gmkerl-thumb': '/fw/300' }

with open('dd.png', 'rb') as f:

res = up.put('/up/dd.png', f, checksum=True, headers=headers)

说明,上传成功,如果是图片,返回包含图片宽、高、格式、帧数的 Python Dict 对象,如果不是,是空 Python Dict 对象;上传失败,抛出异常。

表单上传、图片处理(同步)

// 设定参数

kwargs = { 'allow-file-type': 'jpg,jpeg,png',

'notify-url': 'http://notify-url/',

'x-gmkerl-thumb':'/fw/300' }

// checksum,表示是否进行 MD5 校验,如果是小文件,建议进行,为 True;如果是大文件,建议不进行,为 False

with open('dd.png', 'rb') as f:

res = up.put('/up/dd.png', f, checksum=True, form=True, **kwargs)

说明,上传成功,返回内容见 FORM API 的通知设置;上传失败,抛出异常。

断点续传上传

from upyun import FileStore

from upyun import print_reporter

/*

* 参数说明

* need_resume,表示是否需要断点续传,默认 False

* headers,表示需要的头信息,,见 REST API 断点续传

* store,表示断点信息存储位置,默认 memory_store。memory_store 表示存放在内存,FileStore() 表示存放在文件,默认是 ~/.up-python-resume/

* reporter,表示报告上传进度,默认忽略。print_reporter 只是 print 上传进度,有其他需要的用户可以自行实现

*/

with open('dd.png', 'rb') as f:

res = up.put('/up/dd.png', f, checksum=True, need_resume=True, headers={}, store=None, reporter=print_reporter)

说明,上传成功,返回空 Python Dict 对象;上传失败,抛出异常。

文件删除

up.delete('/up/dd.png')

说明,成功,返回 Python None 对象;失败,抛出异常。

目录创建和删除

up.mkdir('/up/temp/') // 创建

up.delete('/up/temp/') // 删除

说明,成功,返回 Python None 对象;失败,抛出异常。注,目录删除只能删除空目录。

列目录

res = up.getlist('/up/', limit=100, order='asc', begin='')

说明,获取成功,返回 Python List 对象;获取失败,抛出异常。

获取文件信息

res = up.getinfo('/up/dd.png')

print res['file-type']

print res['file-size']

print res['file-date']

说明,获取成功,返回 Python List 对象,内容包括:文件类型、文件大小和文件最后修改时间;获取失败,抛出异常。

获取服务容量

res = up.usage()

说明,获取成功,返回 Python String 对象,单位 Bytes;获取失败,抛出异常。

 类似资料: