提示: 实验资源会在固定时间后释放,请创建资源后尽快操作。
实验资源
第 1 章:实验背景
1.1 背景知识
第 2 章:实验详情
2.1 实验资源
1. 本小节主要内容:将上步使用管道对 OSS 的 Bucket 中的原图进行缩放和打水印双重处理后的图片保存到本地。图片服务的下载可以通过浏览器等发送 HTTP GET 请求图片的URL 即可获得图片。
2. 首先,下载处理后的图片至本地。请将开发服务器桌面的 code.txt 文件中 //下载图片 、 //下载文件 部分的代码(以下灰色字体)拷贝到 WaterMark.java 对应位置中。该部分代码将使用管道对 OSS 的 Bucket 中的原图进行缩放,和打水印双重处理后的图片,保存到本地的 C:/LAB_OSS 路径中,并命名为 旅行.jpg 。
注意:%7C 是管道符 | 的转义字符。
//下载图片
String uri_pipe_download=uri+"@"+thumbnail+"%7C"+ watermark;//“%7C”是管道符“|”的转义字符
downloadFile(uri_pipe_download);
System.out.println("Finished...");
以上代码中 downloadFile() 的具体实现见如下的 //下载文件 代码。具体通过以下步骤获得处理后的图片,之后存入本地文件:
1)创建 HttpGet 对象,将要请求的 URL 通过构造方法传入 HttpGet 对象。
2)使用 DefaultHttpClient 类的 execute 方法发送 HTTP GET 请求,并返回 HttpResponse 对象。
3)通过 HttpResponse 接口的 getEntity 方法返回响应信息,并以给定的文件名字 旅游.jpg 存为本地文件。
//下载文件
private static void downloadFile(String uri)
throws OSSException, ClientException, ClientProtocolException, IOException {
//send requests
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(new HttpGet(uri));
System.out.println("开始从OSS下载文件...");
//write to file
byte[] result = EntityUtils.toByteArray(response.getEntity());
FileOutputStream fos = new FileOutputStream(new_pic_name);
fos.write(result);
fos.flush();
System.out.println("下载成功");
}
3. 然后,点击顶层功能栏的 运行(第六个按钮),开始运行程序。弹出 Console 的程序运行界面中,若显示如下信息,则完成下载处理后的图片并保存到本地,其名称为 旅行.jpg 。
4. 最后,在本地查看处理后的图片信息。依次点击 Windows 界面左下角的 开始 ,和点击右侧栏的 计算机 ,在打开的 计算机 窗体下,双击 本地磁盘C:,然后,双击并进入 LAB_OSS 的文件目录下。双击 旅行 图片文件。
在打开的 旅行 图片页面中,可以查看到一张添加红色文字水印的地球仪的图片。证明已成功下载通过 OSS 处理后的 世界地图.jpg 图片,并已将其保存到本地 C:\LAB_OSS中,默认命名为 旅行.jpg 。注意其像素已被缩放至 500*500 像素。
- 阿里云ACP认证交流群
- 分享最新阿里云视频题库
-
- 我的淘宝店铺
- 考试授权码最新包过题库
-
评论