如何使用 FTP、API 上传文件

UPYUN 提供了两大种上传方式, 一种是 FTP 方式上传,一种是 API  接口方式上传

API 接口上传

我们选择简单易懂的 Python 语言来完成我们的第一个上传操作。当然,还可以在UPYUN的开发资源中找到 API 文档和各种语言的 SDK 例子,并且他们都是可以单独运行的。

API 接口上传分为标准 API 接口上传和表单 API 接口

下面我们以标准 API 接口作为示例介绍下如何使用 API 接口进行上传

首先我们先来准备一下必要的参数:

1.API 接口地址:

v1.api.upyun.com (电信)

v2.api.upyun.com (联通网通)

v3.api.upyun.com (移动铁通)

v0.api.upyun.com (自动判断) <=======(我们习惯选择它)

2.服务名:upyun-blog-pic

3.用户(已授权)操作员:upyun

4.密码(已授权):密码

API 接口方式上传基于 http 协议。所以我们这里使用 put 方式上传文件到 UPYUN 的 API 接口。

首先我们可以去开发资源中找到适合自己的 sdk 代码。任何一个 sdk 下载下来我们都会发现有一个已经写好的供调用的接口方法,比如 upyun.py;upyun.php;upyun.java 等等。这样一来,我们就不用重复造轮子了。

下面我们来看一个 Python 调用这个已经写好的 upyun.py 的例子:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import upyun

# —————— CONFIG ———————

BUCKETNAME = ‘服务名字’

USERNAME = ‘操作员名’

PASSWORD = ‘操作员密码’

# ———————————————–

在文件的开始我们先填写一下上传所必需的变量,那就是我们前面提到的很重要的

服务名操作员名操作员密码

接下来,我们开始调用 upyun.py 里面的方法来上传图片:

def run():

up = upyun.UpYun(BUCKETNAME, USERNAME, PASSWORD, timeout=30,

             endpoint=upyun.ED_AUTO)

rootpath = ‘/upyun-python-sdk/’

 

try:

    print “Uploading a new picture to upyun from a file”

    headers = {“x-gmkerl-rotate”: “180”} #传入图片旋转参数

    with open(‘cat.png’, ‘rb’) as f:

        res = up.put(rootpath + ‘tac.png’, f,

                 checksum=False, headers=headers)

    print “OKED”

 

except upyun.UpYunServiceException as se:

    print “failed\n”

    print “Except an UpYunServiceException …”

    print “HTTP Status Code: “ + str(se.status)

    print “Error Message: + se.msg + “\n”

    if se.err:

        print se.err

except upyun.UpYunClientException as ce:

    print “failed\n”

    print “Except an UpYunClientException …”

    print “Error Message: “ + ce.msg + “\n”

 

 

if __name__ == ‘__main__’:

run()

借助强大的 upyun.py 接口方法,上传是变成一件简单的事情。我们需要做的,只是传递一下相关的参数来告诉服务器这个图片的存放路径,是否旋转、裁剪等。

下面我们简单的讲一下上面的参数。

1. rootpath 这个变量是指定文件上传到服务所在的目录。

2. headers 这个里面的 x-gmkerl-rotate 指的是图片处理的参数,在图片上传的时候我们可以往 http headers 里面添加一些参数来告诉服务器如何处理上传的图片。

3. endpoint 是上传的 API 接口地址。通常我们的上传 API 接口地址都是使用 v0.api.upyun.com

4. checksum 这个 checksum 布尔值是判断是否执行 MD5 校验的参数,开启 MD5 校验能检查服务器接收到文件和本地文件的数据是否一致。

如果发现上传的时候 API 接口返回了错误, 这时我们就可以直接参考 错误信息表 来查看大概是出现了什么错误。

如何查看已经上传的图片文件?

可以通过 FTP 登录到空间直观查看上传的文件。

这时可以看到服务目录下面已经存在这个图片了。FTP 的登录方法为:

1. FTP 工具:(比如 filezilla)

2. FTP 地址为:v0.ftp.upyun.com

3. FTP 的用户名为:「操作员名/服务名」(注意:「操作员名+ / +服务名」都是要填写的)

4. FTP 的密码:操作密码

还有一种方法是使用外链方式来在浏览器中查看文件是否已经上传成功。外链的是服务的 域名(默认域名加上远程文件路径形成的访问链接。

比如我们刚刚上传的那张图片就可以试着访问一下以下链接地址:

http://upyun-blog-pic.b0.upaiyun.com/upyun-python-sdk/tac.png

放在浏览器中打开后,就会看见下面的图片。没错,我们在程序中使用了旋转180度的参数,所以现在看上去就是倒立的喵星人了。

FTP 方式上传

FTP 方式上传更简单,只要准备好一个 FTP 工具,就可以填写好我们上面说过的信息以后就可以直接单个或者批量上传文件了。

到目前为止,我们的一个快速的上传就完成了,接下来我们可以使用这个图片的外链插入到我们的网站或者 APP 应用中,全国和北美自建的 CDN 网络基础下,打开它可是非常的快速。


Comments

  1. 您好:

     我使用的是C++,API  接口方式上传SDK中没有C++的,只有C-SDK但是放到我的C++工程中一堆问题,解决起来比较麻烦,想问一下API上传有没有C++的解决方案,谢谢!

留下一个评论