七牛云单页面上传图片的功能

原创 2014年03月20日 15:17:08
<?php
date_default_timezone_set("Asia/Shanghai"); //设置时区

//插入七牛云的类库
require_once('../../library/qiniu/rs.php');
require_once('../../library/qiniu/http.php');
require_once('../../library/qiniu/auth_digest.php');
require_once('../../library/qiniu/utils.php');	

$bucket = "qn";
$domain = 'qn.qiniudn.com';
$accessKey = 'ak';
$secretKey = 'sk';
    
Qiniu_SetKeys($accessKey, $secretKey);
$client = new Qiniu_MacHttpClient(null);    //查询是否已存在链接

//$deadline = time() + 315360000;
$deadline = 1735660800;	//2025-01-01 00:00:00
/***** 10 年有效 *****/
$keyEsc = rawurlencode($_GET['filename']);
$baseUrl = "http://$domain/$keyEsc";

$pos = strpos($baseUrl, '?');
if ($pos !== false) {
	$baseUrl .= '&e=';
} else {
	$baseUrl .= '?e=';
}
$baseUrl .= $deadline;
$sign = hash_hmac('sha1', $baseUrl, $secretKey, true);
$token = $accessKey . ':' . Qiniu_Encode($sign);
$thisurl = "$baseUrl&token=$token";
//echo $thisurl;

$putPolicy = new Qiniu_RS_PutPolicy($bucket);
//$putPolicy->ReturnUrl = $thisurl;
$upToken = $putPolicy->Token(null);
//echo $upToken; 

?>
<html>
<head>
<script type="text/javascript" src="../../static/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function(){
	$('.upload-pic-btn').on('click', function() {
		$('#image-input').click();
	});

	$('#image-input').change(function(event) {
		var file = this.files[0];
		if (file == null) {
			return;
		}else{
		
		<?php 
			//如果已经存在图片,则删除网盘中的图片再上传新的图片。
			//list($ret, $err) = Qiniu_RS_Stat($client, $bucket, $_GET['filename']); //判断是否已存在img
			Qiniu_RS_Delete($client, $bucket, $_GET['filename']);
		?>
		}
		$("label").remove();
		
		var formData = new FormData();
		formData.append("file", file);
		formData.append("token", "<?php echo $upToken; ?>");
		formData.append("key", "<?php echo $_GET['filename']; ?>");

		$.ajax({
			url: 'http://up.qiniu.com/',  //Server script to process data
			type: 'POST',
			success: function (data) {	
				//var imgurl = data["x:imgurl"];
				//$("button").after("<br /><label><?php echo $thisurl; ?></label>");
				window.location.href="admin.php?action=upload&ctrl=exeqn&inid=<?php echo $_GET['inid']; ?>&url=<?php echo urlencode($thisurl); ?>";
			},
			error: function () {
				//location.reload();
				$("button").after("<br /><label><b>上传失败</b></label>,<a href='<?php echo $_SERVER["REQUEST_URI"]; ?>'>重新载入页面上传。</a>");
			},
			// Form data
			data: formData,
			//Options to tell jQuery not to process data or worry about content-type.
			cache: false,
			contentType: false,
			processData: false
		});
	});
});
</script>
</head>
<body>
<button name="imageFile" class="upload-pic-btn">上传图片</button>
<input type="file" id="image-input" style="display:none">
</body>
</html>

相关文章推荐

jquery实现页面无刷新动态上传图片预览功能

var divshowphotoid = "divshowphotoid"; function fileuploadinit(property){    //alert("action   "+p...

页面上传图片插件

  • 2013年12月14日 13:46
  • 14KB
  • 下载

关于上传图片插件webuploader的使用(同一个页面存在多个实例):

一个页面只存在一个实例时比较容易,只需要用对应的id做显示即可; 而当一个页面存在多个实例时,即需要很多个上传按钮,并且需要带参数时,如图, 先统一设置一个class,然后进度框中对id进行唯一性...

上传图片功能

  • 2008年07月24日 12:26
  • 2KB
  • 下载

上传图片功能

  • 2014年04月16日 15:45
  • 314KB
  • 下载

(二)上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)

首先说写入oracle的Blob字段 上一文章的实现方法没有贴出来,如下: TempUserService.java package org.hd.tempuser.service; im...

PHP上传图片带预览功能

  • 2014年03月27日 14:56
  • 3KB
  • 下载

jquery ajax向服务器端上传图片并依次显示到页面

首先我们需要建一个html页面,点击可以上传图片并接收服务器端发送回来的数据,将图片显示到页面上。 具体代码大家可参考: https://github.com/yuzwwitmob/wit...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:七牛云单页面上传图片的功能
举报原因:
原因补充:

(最多只允许输入30个字)