TIPS:首先声明使用sae实在是因为我的豆豆用不完
##sae中上传文件或者图片的方法
在sae中上传图片的方法基本没有变化
主要需要注意上传路径的设置,如下
$upload->savePath =  '/Public/upload';   // 设置附件上传目录
由于在config_sae.php中已经对/Public/upload有设置了
'/Public/upload'=>sae_storage_root('public').'/upload',
跟据上面的设置,默认上传到storage服务中的Public文件夹中
public function addHandle(){
    if(!IS_POST){
        halt('页面不存在');
    }
    import('ORG.Net.UploadFile');
    $upload = new UploadFile();                 // 实例化上传类
    $upload->savePath =  '/Public/upload';   // 设置附件上传目录
    $upload->allowExts  = array(
        'jpg','png','gif','bmp'
        );// 设置附件上传类型
    // 开启缩略图
    $upload->thumb = true;
    //设置需要生成缩略图的文件后缀
    $upload->thumbPrefix = 'l_';  //生产1张缩略图
    //设置缩略图最大宽度
    $upload->thumbMaxWidth = '100';
    //设置缩略图最大高度
    $upload->thumbMaxHeight = '100';
    if (!$upload->upload()) {
        $this->error('上传失败');
    }
    //取得成功上传的文件信息
    $info = $upload->getUploadFileInfo();
    $_POST['off'] = 0;
    $_POST['savename'] = $info[0]['savename'];
    if(M('fruit')->add($_POST) ){
        $this->success('添加水果成功',U('Fruit/index'));
    } else{
        $this->error('添加失败,请联系开发人员');
    }
}
完成上传功能后,上传的图片名为551cb261dcdbc.png
但是存储在storage Public文件夹下面的文件名为upload551cb261dcdbc.png
其中缩略图文件名l_upload551cb261dcdbc.png
所以在处理的过程中还有一些技巧
##显示图片
在config_sae.php中添加
'/stor'=>sae_storage_root('public'),
然后在显示页面添加
<td>
    <img src="/stor/l_upload{$v.savename}" />
</td>
##删除图片
public function deleteFruit(){
    $fruit = M('fruit')->where(array('id' => I('id') ))->select();
    $name1 = '/Public/upload'.$fruit[0]['savename'];////////////
    $name2 = '/Public/l_upload'.$fruit[0]['savename'];//////////
    if (M('fruit')->where(array('id' => I('id')))->delete()) {
        sae_unlink($name1);////////
        sae_unlink($name2);////////
        $this->success('删除成功');
    }else{
        $this->error('删除失败');
    }
}
其中在Thinkphp/Extend/Engine/Sae/Common/sae_functions.php
//平滑函数,sae和本地都可以用,增加系统平滑性
function sae_unlink($filePath) {
    if (IS_SAE) {
        $arr = explode('/', ltrim($filePath, './'));
        $domain = array_shift($arr);
        // echo $domain;
        $filePath = implode('/', $arr);
        // echo $filePath;
        $s = Think::instance('SaeStorage');
        return $s->delete($domain, $filePath);
    } else {
        return unlink($filePath);
    }
}