注:以下演示以阿里云云存储OSS操作为例;没有服务器的同学,可以参加阿里云高校计划,每天8点免费领取ECS服务器。
上传图片至OSS云存储
一、查看图片分享网站
1.远程登录到ECS服务器
2.进入网站系统的根目录
# cd /alidata/www/default
3.查看图片
# ls
4.查看网站首页的源码
cat index.html
二、上传图片文件
1.在ECS实例的 /alidata/www/default 目录中,执行如下命令,进入 cfg.json 的编辑页面,并修改OSS的配置信息。
# vim cfg.json
- id:AK ID 值;
- secret:AK Secret 值
- endpoint: 地域 相对应的 外网Endpoint 。例如:分配的 地域为 华东1(杭州),则输入 oss-cn-hangzhou.aliyuncs.com。
- bucket:OSS资源 Bucket 名称
- object_dir: OSS资源 Object路径。
2.上传图片
python oss_upload.py 01.png
三、使用OSS存储图片分享网站
1.进入alidata/www/default目录
# cd /alidata/www/default
2.删除当前目录中的所有“.png”文件并查看是否删除干净
# rm -rf *.png
# ls
3.打开ECS 外网地址
4.进入OSS管理控制台,复制四张图片的URL地址
5.返回ECS服务器的/alidata/www/default目录下,并进入服务器访问首页 index.html 的编辑界面
# cd /alidata/www/default
# vim index.html
6.替换图片链接为复制的URL地址
7.刷新 ECS实例的 外网地址
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hZTAxLmFsaWNkbi5jb20va2YvSGVjNDk5OWI2ZmYyNTRkYTNiZTEzY2EzMjE4ZGQ0MjhmNy5qcGc?x-oss-process=image/format,png)
使用云存储OSS的API上传和下载和删除文件
使用OSS Python SDK 调用 OSS API,将用户本地的小文件上传到OSS云存储Object路径中。
一、调用OSS API上传文件
1.远程登录到ECS服务器
2.配置AccessKeyID, AccessKeySecret 和 Endpoint 信息
cd aliyun-lab
vim configure.json
configure.json 文件用于提供调用 OSS API 时所需的公共参数。
- id:AK ID 值;
- secret:AK Secret 值
- endpoint: 地域 相对应的 外网Endpoint 。例如:分配的 地域为 华东1(杭州),则输入 oss-cn-hangzhou.aliyuncs.com。
3.在 aliyun-lab 路径下,执行命令
vim object_upload.py
通过调用 OSS API,上传本地文件 (__file_name:本地文件路径) 到 bucket 中,并重命名 object (__object_name:Bucket中Object名称) 。在代码的 #调用OSS API的put_object()上传文件 下方,添加如下的代码,
with open(__file_name,'rb') as fileobj:
bucket.put_object(__object_name, fileobj)
4.执行如下命令,运行脚本程序。将本地文件 lab.txt 上传到本实验分配 OSS bucket 的 Object 路径下,并重命名为 lab_object.txt 。
python object_upload.py <oss bucket名称> lab.txt <oss object路径>/lab_object.txt
5.输入命令 cat lab.txt
,查看上传到OSS指定路径的文件内容:Hello first object! 。
6.至此,文件上传成功。
二、调用OSS API下载文件
1.在 ECS 的 aliyun-lab 目录下,执行命令 vim object_download.py
,修改脚本文件 object_download.py 。通过调用 OSS API,下载 OSS的 bucket 中名称为 __object_name 的 object 到本地,并重命名为 __local_name 。在代码的 #调用OSS API的get_object_to_file()下载object 下方。
bucket.get_object_to_file(__object_name, __local_name)
2.执行如下命令,将 OSS 存储的文件 lab_object.txt 下载到本地,并重命名为 lab_local.txt 。下载成功后,执行命令 ls ,列出当前目录下所有的文件,可以看到文件lab_local.txt 已经保存在当前目录下。请注意替换
python object_download.py <oss bucket 名称> <oss object路径>/lab_object.txt lab_local.txt
3.执行命令 cat lab_local.txt 和 cat lab.txt ,分别查看原文件与下载后的文件,对比两个文件中的内容,可以发现两个文件中的内容一致,证明 object 下载并成功保存到本地。
三、调用OSS API删除Object
1.在ECS服务器访问终端界面,然后,执行 vim object_delete.py ,修改脚本文件 object_delete.py 。此脚本通过调用 OSS API ,删除 OSS Bucket 中的 object。在代码的 #调用OSS API batch_delete_objects(),批量删除objects 下方。添加如下的代码,完成修改后,保存脚本。
result = bucket.batch_delete_objects([__object_name])
2.执行命令 python object_delete.py <Bucket 名称> <Object路径>/lab_object.txt
。删除 bucket 中的指定路径的 object 。
,保存脚本。
result = bucket.batch_delete_objects([__object_name])
3.至此,完成object的删除