#PHP代码
<?php
$AccessKey = "";//公司key
$SecretKey = "";//公私密钥
$scope ="tounao:sunflower.jpg";
$deadline = time()+7200;
$returnBody = '{
"name":$(fname),
"size":$(fsize),
"w":$(imageInfo.width),
"h":$(imageInfo.height),
"hash":$(etag)
}';
//构造数据
$putPolicy =[
"scope"=>$scope,
'deadline'=>$deadline,
'returnBody'=>$returnBody
];
$putPolicy = json_encode($putPolicy);
//对数据进行编码
function base64_urlSafeEncode($data)
{
$find = array('+', '/');
$replace = array('-', '_');
return str_replace($find, $replace, base64_encode($data));
}
$encodedPutPolicy = base64_urlSafeEncode($putPolicy);
$sign = hash_hmac('sha1', $encodedPutPolicy, $SecretKey, true);
$encodedSign = base64_urlSafeEncode($sign);
$uploadToken = $AccessKey.':'.$encodedSign.':'.$encodedPutPolicy;
echo $uploadToken;
//var_dump(json_encode($putPolicy));
?>
前端代码
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.9.0/jquery.js"></script>
<form class="upHuzhaoImg1" id="myform2" method="post" action="http://upload-z1.qiniup.com" enctype="multipart/form-data">
<input class="getTime2" name="key" type="hidden" value="">
<input class="tokenUrl2" name="token" type="text" value="">
<input onclick="fileClickFun(2,1)" id="upInput2" class="upVideoInput2" style="margin:0;" class="upVideo" name="file" type="file" accept="image/*" value=""/>
<input name="accept" type="hidden" value="" />
</form>
<!-- 文件名称可以使用自身的,也可使自己自定义名称上传 -->
<script type="text/javascript">
function fileClickFun(i,num){
// var date =new Date().getTime();
//$('.getTime'+i).val(date);
$(".upVideoInput"+i).change(function(){
var formData = new FormData($("#myform"+i)[0]);
console.log(formData);
$.ajax({
url:"http://upload-z1.qiniup.com",
type:"post",
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success:function(data){
console.log(data);
},
error:function(e){
console.log(e);
}
});
});
}
</script>