在sae中上传图片其实比较简单,但是我现在还没找到ajax上传图片的办法,等我学会了再补充这篇博客。
首先是html代码:
<form action="add.php" method="post" enctype="multipart/form-data">
<div class="row"><div><span>照片:</span></div><input type="file" name="carPhoto" id="carPhoto" /></div>
<input type="submit" name="submit" class="btn btn-default" value="Submit" />
</form>
在前端页面里放上这个form表单。而add.php的后台代码如下:
$s = new SaeStorage();
if ($_FILES["carPhoto"]["error"] > 0){
$flag= "fail";
}else{
$carPhotoUrl=$s->upload( "Domain_Name" , "Img_Name.jpg" , $_FILES["carPhoto"]["tmp_name"]);
if($carPhotoUrl){
echo "success!";
}else{
echo "fail!";
}
}
记得在上传之前,要在SAE那里打开Storage服务,并创建一个domain用来存放照片。
假如我们已经上传了同名的图片,那么就需要先检测是否存在,假如存在先删除,再上传。
代码如下:
$s = new SaeStorage();
$filename = "_Name_.jpg";
if ($s->fileExists("Domain_Name", $filename) == true) {
$s->delete( "Domain_Name",$filename) ;
}
if ($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
return false;
}else{
if( $s->upload( "Domain_Name" , $filename , $_FILES["file"]["tmp_name"]) ){
$uploadResult = "图片上传成功!";
echo $uploadResult;
return true;
}else{
$uploadResult = "图片上传失败!";
echo $uploadResult;
return false;
}
}
在SAEStorage里,有很多文件操作方法,链接如下:
等我测试完Ajax的办法,就更新这篇博客。
原文地址:http://blog.csdn.net/alps1992/article/details/45298187