SAE-上传本地图片到SAE的Storage(php版)

新浪的SAE处于安全期间,不支持直接将本地文件上传的SAE。

也就是无法通过选择文件按钮选择本地的文件,点击提交之后,文件不能成功提交到SAE云服务器的,那怎么办哪??需要通过SAE提供的Storage来实现,通过Sotrage的API接口将本地文件上传的SAE的Storage,然后再通过访问Storage里的文件来实现这一效果!!

下面通过图片来一步步解说:

1. 打开我们的SAE应用在服务管理这里可以看到storage

2. 然后点击storage进去之后看到下面界面

3. 点击新建domain名字随便起,这个domain用来存放将来我们上传的文件,创建好之后可以点击domain管理查看我们创建的domain

4. 一切具备,现在只欠我们通过写程序往这domain里存放数据了,本人用的是php语言,其他语言原理也一样!

<?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 "<p style='background:#FCC9C4;border-radius: 0.3em;padding:5px;color:#fff;''>图片已存在,请重新上传!</p>";
        }
	else{

	$filename = $_FILES["file"]["name"];
	$storage->upload( $domain,$filename,$_FILES[file][tmp_name]); 

        echo "<p style='background:#7CBD55;border-radius: 0.3em;padding:5px;color:#fff;'>图片上传成功!</p>";
        echo "<script> window.location='showImage.php';</script>";

<span style="white-space:pre">	</span>}
    }else{
    	echo "<p style='background:#FCC9C4;border-radius: 0.3em;padding:5px;color:#fff;''>图片格数不正确,上传失败!</p>";
    }

}

?>

<!DOCTYPE HTML>
<html>
<head>
	<title></title>
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width,initial-scale=1">
	<link href="./css/style.css" rel="stylesheet" type="text/css"  media="all" />	

</head>
<body>

<form method="POST" enctype="multipart/form-data" class="uploadImageForm">
	<input type="file" name="file" id="file" />
	<input type="submit" value="Submit" name="submit"/>
</form>

</body>
</html>

看下效果图:有点卡大家可以把代码考自己机子上运行下

我们怎么通过程序访问这个我们存放进domain里的图片那?

接下来是showImage.php的内容

<?php

$sae_storage = new SaeStorage();
$domainName = "kepuna";
$listArray = $sae_storage->getList($domainName);

foreach($listArray as $image){
    echo "<img src='http://hjmshop-kepuna.stor.sinaapp.com/$image'/>";

}

?>

方法还有很多种,我这只是其中一种,可以参考

http://apidoc.sinaapp.com/class-SaeStorage.html 这个SAE的官方文档大家自己摸索下,很简单!

下面是我domain中的所有图片

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 05:02:36

SAE-上传本地图片到SAE的Storage(php版)的相关文章

KindEditor上传本地图片在ASP.NET MVC的配置

http://www.cnblogs.com/upupto/archive/2010/08/24/1807202.html 本文解决KindEditor上传本地图片在ASP.NET MVC中的配置. 开发工具:VS 2010 EN 开发语言:Visual C# ASP.NET MVC 2.0 kindeditor-3.5-zh_CN 下载 文中以Blog文章为例,为做演示,数据表比较简单,如下图: 添加 BlogController Code: 1 2 3 4 5 6 7 8 9 10 11 1

.net mvc 利用 kindeditor 上传本地图片

最近在用kindeditor 编辑器,在上传本地图片的时候遇到了点问题,不能正确的上传. 现在把使用 kindeditor 上传本地图片的配置记录一下. 1.下载kindeditor.http://kindeditor.net/down.php 2.解压,将所有文件复制到项目里.我是放在content里面. (您可以根据需求删除以下目录后上传到服务器,asp - ASP程序,asp.net - ASP.NET程序,php - PHP程序,jsp - JSP程序,examples - 演示文件)

关于KindEditor组件上传本地图片报服务器异常的错误

今天突然间接到一个异常信息的问题,说系统的在线文本编辑器里上传本地图片报服务器异常的错误信息,开始我用firebug调试,发现前台不报错,然后我去服务器日志里找,也没看到相关信息.看网上写的说有可能是路径或者有可能是权限问题,我看权限已经设置,路径看后干脆直接改成: $save_path = '../../xxx';//相对upload_json.php的位置来说 $save_url = ' 但是我发现上传的时候还是报错,最后刷新缓存.好了. 注:我用的是php版.

是用博客园发表博客是如何上传本地图片

之前写了一篇带有图片的文章,我是直接从Word文档copy过来的,结果发现图片没有,找了很多资料,都说的很麻烦,最后还是自己找到了一简单方法, 这样,你的图片就可以上传了! 是用博客园发表博客是如何上传本地图片

安卓上传本地图片闪退

1.现象 当我们在app上上传一些安卓的本地图片时,有时当上传某些图片时会莫名其妙的闪退,而检查时发现并没有oom异常.同样上传一些类似的图片却可以正常使用. 1.1 开启选择本地图片 Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*"); startActivityForRes

&#8203;Typecho支持上传本地图片的编辑器插件

搭建Typecho博客平台参考我之前的文章:http://msiyuetian.blog.51cto.com/8637744/1920161 Typecho自带的文章编辑器太简洁了,很多功能都缺少,比如本地上传图片等功能.本文主要介绍一款插件:XhEditor1.0.2,支持本地上传图片,也可以直接拖放图片到编辑器中. 1.下载插件,解压得到一个文件夹,并将整个文件夹上传至usr/plugins/目录下 2.登陆自己的Typecho博客后台,在"控制台"的下拉菜单中选择"插件

xheditor1.1.14在asp.net网站开发中作为可上传本地图片的在线编辑器

xheditor是一个基于jQuery开发的跨平台轻量可视化XHTML编辑器,功能强大,使用方便,CSDN网站的发表文章网页就使用了该编辑器,下面介绍在vs2013的环境下开发网页时使用该编辑器并实现本地图片上传的一种方法. 1.网上搜索并下载文件xheditor1.1.1文件包,解压后应该是一个包括jquery.xheditor_emo.t xheditor_plugins. xheditor_skin.demos等文件夹及xheditor-1.1.14-zh-cn.min.js等文件的一个文

html5上传本地图片,在线预览及裁剪(filereader,canvas)

1 我们常常需要上传头像,点击上传按钮时候需要预览一下,使用filereader方法无需和后台交互,代码如下: //本地图片在上传之前的预览效果 //图片上传预览 function previewImage(file) { if (file.files && file.files[0]) { var img = document.getElementById('imghead'); var reader = new FileReader(); //读取file完成之后加载 reader.o

调用微信接口自动实现上传本地图片

在实现微信图片上传时,因为文件是一个文件,无法向字符串一样通过参数一样直接写在请求地址中, 我自己做了一个页面抓取了一下请求,自己用C#代码拼接了一个请求. public string HttpUploadFile() { string url = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=****************&type=image"; #region 本地图片 string path