您的位置:首页 > 编程语言 > PHP开发

PHP异步上传文件到七牛

2015-09-08 11:58 483 查看
<?php
require_once 'inc.php';
require_once 'vendor/autoload.php';

// 引入鉴权类
use Qiniu\Auth;

// 引入上传类
use Qiniu\Storage\UploadManager;

// 需要填写你的 Access Key 和 Secret Key
$accessKey = '';
$secretKey = '';

// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);

// 要上传的空间
$bucket = '';

// 生成上传 Token
$token = $auth->uploadToken($bucket);
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Upload test</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
</head>
<body>
<input id="token" name="token" type="hidden" value="<?php echo $token;?>">
<input id="file" name="file" type="file" accept="audio/mp4,video/mp4"><br><br>
<progress id="progress" value="0" max="100"></progress>

<script type="text/javascript">
document.getElementById('file').addEventListener('change', function(e) {
var fd = new FormData();
fd.append("file",$('#file')[0].files[0]);
fd.append("token",$("#token").val());
var xhr = new XMLHttpRequest();
xhr.addEventListener('progress', function(e) {
var done = e.loaded || e.loaded, total = e.total || e.total;
console.log('xhr上传进度: ' + (Math.floor(done/total*1000)/10) + '%');
}, false);
if ( xhr.upload ) {
xhr.upload.onprogress = function(e) {
var done = e.loaded || e.loaded, total = e.total || e.total;
console.log('xhr.upload上传进度: ' + done + ' / ' + total + ' = ' + (Math.floor(done/total*1000)/10) + '%');
document.getElementById("progress").value = Math.floor(done/total*1000)/10;
};
}
xhr.onreadystatechange = function(e) {
if ( 4 == this.readyState ) {
console.log(['xhr upload complete', e]);
}
};
xhr.open('post', 'http://up.qiniu.com?', true);
xhr.send(fd);
}, false);
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: