新浪的SAE处于安全期间,不支持直接将本地文件上传的SAE。
也就是无法通过选择文件按钮选择本地的文件,点击提交之后,文件不能成功提交到SAE云服务器的,那怎么办哪??需要通过SAE提供的Storage来实现,通过Sotrage的API接口将本地文件上传的SAE的Storage,然后再通过访问Storage里的文件来实现这一效果!!
下面通过图片来一步步解说:
1. 打开我们的SAE应用在服务管理这里可以看到storage
2. 然后点击storage进去之后看到下面界面
3. 点击新建domain名字随便起,这个domain用来存放将来我们上传的文件,创建好之后可以点击domain管理查看我们创建的domain
4. 一切具备,现在只欠我们通过写程序往这domain里存放数据了,本人用的是php语言,其他语言原理也一样!
// 当用户点击submit提交上传的文件时
if(isset($_POST["submit"])){
// 创建SAE storage存储
$storage= new SaeStorage();// 创建SAE storage存储对象
$domain = 'kepuna';// 这里的$domain对应得名字就是自己起的名字
$fileType = $_FILES["file"]["type"]; //被上传文件的类型
if(($fileType=="image/gif") || ($fileType=="image/jpeg")||($fileType=="image/jpg")||($fileType=="image/png")){
if($storage->fileExists($domain,$filename) == true) {// 判断文件是否已经存在
echo "
图片已存在,请重新上传!
";}
else{
$filename = $_FILES["file"]["name"];
$storage->upload( $domain,$filename,$_FILES[file][tmp_name]);
echo "
图片上传成功!
";echo "";
}
}else{
echo "
图片格数不正确,上传失败!
";}
}
?>
看下效果图:有点卡大家可以把代码考自己机子上运行下
我们怎么通过程序访问这个我们存放进
domain
里的图片那?
接下来是showImage.php的内容
$sae_storage = new SaeStorage();
$domainName = "kepuna";
$listArray = $sae_storage->getList($domainName);
foreach($listArray as $image){
echo "";
}
?>
方法还有很多种,我这只是其中一种,可以参考
下面是我domain中的所有图片