博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SAE学习-使用SAE的Storage服务存储图片
阅读量:6463 次
发布时间:2019-06-23

本文共 2020 字,大约阅读时间需要 6 分钟。

看到园子里面有同学写了一篇《基于PHP实现阿里云开放存储服务》,围观地址:。想 起自己也在Sina App Engine(简称SAE)注册了一个开发者账号,而已有一个个人在线简历,所以就尝试这把应用里面用到的图片都放到SAE的Storage服务里面存 储,然后在页面从storage里面读取图片地址,打开开发文档,就开始折腾起来。估计是PHP学习的不多,所以遇到的问题还是蛮多的。首先看一下SAE的storage服务内容:

阿里云的存储服务是现成的php sdk下载的,当前也有Java和C#的版本,而已只要里面填写了accessKeyId和accessKeySecret,可以不要自己的应用部署在阿 里云的服务器上,或者它的平台上。所以方式和又拍云相关的图片存储相类似。但是SAE首先没有提供相关的SDK,就是说本地没有Storage的操作方法 的源文件,因为这个原因,所以$mystorage=new SaeStorage写出的代码只能部署在SAE PaaS平台上。所以相对于阿里云来说,SAE的storage服务限制还是蛮多的。说到这里,就说一下另外一个MySQL服务,可以跨应用之间调用,但 是不能由第三方程序直接调用,也是这个原因。这里可能是各大公司对于IaaS和PaaS定位不同,新浪估计是这样想的,我提供的就是PaaS服务,所以我 当然希望你所有的应用和服务都在我的平台上开发,但是可以把各个服务分开计费呀!有的童鞋有云服务器,可能只想用一下你的Storage或者MySQL服 务,你这样直接reject掉了人家。

 

参考的API文档地址是:。我在CustomImage.php里面封装了一个方法,本是想写一个CustomImage类,发现写出来错误好多,对PHP面向对象还是不熟悉。代码如下:

getListByPath($domainName, $directoryname); $files = $listfiles["files"]; $imageUrls = array(); foreach ($files as $imagefile) { $tempName=$directoryname ."/". $imagefile["Name"]; $imageUrl = $sae_storage->getUrl($domainName, $tempName); array_push($imageUrls, $imageUrl); } return $imageUrls;} //测试方法//try {// // $result = loadImagesByGroupName("cokegame");// print_r($result);//} catch (Exception $e) {// echo "Error:" . $e->getMessage();//}?>

 

 

说明一下代码逻辑,array getListByPath (string $domain, [string $path = NULL], [int $limit = 100], [int $offset = 0], [int $fold =true]) 获取指定Domain、指定目录下的文件列表,我在后台创建了多个目录,然后每个目录上传了相应的图片,获得的数组里面,我可以拿到文件的名词,然后我调 用string getUrl (string $domain, string $filename) 方法,获取到对应图片的url地址,这个URL地址就是从Storage存储里面生成出来的地址,不是从我应用程序部署的地方获取的。比如:。

我在页面呈现的代码如下,就是根据目录,然后显示目录下所有的图片的。当然大家在最开始要控制好,一个目录最多放置多少张图片,要不然性能会有所下降。代码如下:

require_once 'CustomImage.php';

 

在一般情况,有PHP使用经验,然后查看相关的API文档还是可以完成一些简单应用需求。在这里大家也了解到阿里云的开放存储服务和SAE的Storage服务的差别,大家在个人项目或者企业项目时,可以综合考虑,选择最适合自己的解决方案。

转载地址:http://lkrzo.baihongyu.com/

你可能感兴趣的文章
Java内部类总结
查看>>
NeHe OpenGL第二课:多边形
查看>>
让WP7下复杂列表选项生动起来
查看>>
WINFORM WPF字体颜色相互转换
查看>>
能力不是仅靠原始积累(三)
查看>>
实战:使用终端服务网关访问终端服务
查看>>
彻底学会使用epoll(一)——ET模式实现分析
查看>>
路由器的密码恢复
查看>>
Samba日志分析
查看>>
【Android 基础】Android中全屏或者取消标题栏
查看>>
R语言学习笔记:分析学生的考试成绩
查看>>
uploadfy 常见问题收集
查看>>
[转]OllyDBG 入门系列(三)-函数参考
查看>>
EXTJS学习系列提高篇:第二十篇(转载)作者殷良胜,ext2.2打造全新功能grid系列--批量删除篇...
查看>>
Gradle动态配置项目
查看>>
VUE2.0从零开始 学习路线
查看>>
Slog61_NodejsGUI之Electron模块的安装和测试
查看>>
phoneGap iOS插件开发(二)插件自动安装配置
查看>>
撩课大前端-面试宝典-第十五篇
查看>>
Kitty猫 vs. 百度狗,区块链动物大战,谁将下一个入局?
查看>>