Web学习 - SAE上传图片

在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里,有很多文件操作方法,链接如下:

http://apidoc.sinaapp.com/class-SaeStorage.html

等我测试完Ajax的办法,就更新这篇博客。

你可能感兴趣的:(上传图片,sae)