使用Plupload實現(xiàn)直接上傳附件至七牛云存儲
這個插件主要針對哪些用戶?
1.空間小想做下載服務器的用戶,既沒有足夠的帶寬,又沒有足夠大的空間,我們這個怎么弄呢?將我們的網(wǎng)站做成中間層,然后用戶上傳到服務器其實就上傳到了七牛云存儲,下載也是等同于在七牛下載,即省了空間又省了帶寬,解決了小空間不能做下載站的可能!
2.我本身服務器很好,但是有時候用戶上傳只有幾K的速度往上走,這個不乏有ISP的限制成64KB,但是達不到就幾K,這個真實存在的,我們也用這個做上傳服務器,然后用軟件定時下載到服務器,這個就是現(xiàn)在一個網(wǎng)站主現(xiàn)在做的
3.做一個個人的文檔庫,讓別人都上傳到我的云空間中
就如下圖的實例
關于這個插件,JS中不得不說Plupload這個插件真的很強大,強大就有一個問題,復雜,什么叫復雜就是可定制化,自己動手豐衣足食,想要的功能你可以自己實現(xiàn),如果只講這個插件那就太費勁了,大家可以參考官方的API,我這里只是做一個七牛的demo,前邊有uploadify的大家可以一起看看!
index.php
<?php
require_once("./qiniu/io.php");
require_once("./qiniu/rs.php");
require_once("./qiniu/fop.php");
$bucket = "空間名稱";
$accessKey = 'APIKEY';
$secretKey = 'APIKEY';
Qiniu_SetKeys($accessKey, $secretKey);
$putPolicy = new Qiniu_RS_PutPolicy($bucket);
$upToken = $putPolicy->Token(null);
?>
<!DOCTYPE html>
<html xmlns=" <head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Plupload for QINIU</title>
<link rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
<link rel="stylesheet" href="./js/jquery.plupload.queue/css/jquery.plupload.queue.css" type="text/css" />
<script type="text/javascript" src="./js/plupload.full.min.js"></script>
<script type="text/javascript" src="./js/jquery.ui.plupload/jquery.ui.plupload.js"></script>
<script type="text/javascript" src="./js/jquery.plupload.queue/jquery.plupload.queue.js"></script>
</head>
<body style="font: 13px Verdana; background: #eee; color: #333">
<h1>Plupload to QINIU Example</h1>
<div id="uploader">
<p>Your browser doesn't have Flash, Silverlight or HTML5 support.</p>
</div>
<script type="text/javascript">
$(function() {
$("#uploader").pluploadQueue({
//設置類型
runtimes : 'html5,flash,silverlight',
//設置上傳的url
url : 'http://up.qiniu.com/',
multipart: true,
//設置post傳給七牛的token
multipart_params: {
'token': '<?php echo $upToken; ?>',
},
resize : {width : 800, height : 600, quality : 60}, // 設置大小
//修改post字段為七牛的file
file_data_name: 'file',
//設置一些限制
filters : {
// 設置大小
max_file_size : '10mb',
// 允許上傳的類型
mime_types: [
{title : "Image files", extensions : "png,jpeg"},
{title : "RAR files", extensions : "rar,zip,tar.gz"}
]
},
// 設置Flash的路徑
flash_swf_url : './js/Moxie.swf',
// 設置Silverlight的路徑
silverlight_xap_url : './js/Moxie.xap',
//多文件上傳 如果你是多文件上傳可以把這里的注釋去掉
// preinit :{
// UploadFile : function(up,file){
// up.settings.multipart_params.key=file.name;
// }
// },
});
var uploader = $('#uploader').pluploadQueue(); // 取得上傳隊列
//綁定FIlesAdded這個方法 具體的好多方法大家可以看官方的API 單一文件上傳的方法
uploader.bind('FilesAdded',function(up,files){
//獲取文件名稱 這個是單一的 如果多文件需要循環(huán)上傳
var filename = files[0].name;
var filedata = filename.split(".");
var type = filedata[filedata.length-1];
up.settings.multipart_params.key="<?php echo date('Ymd-His') . '-' . rand(10000,99999);?>"+"."+type;
});
if (uploader.files.length > 0) { // 就是說如果上傳隊列中還有文件
uploader.start();
} else {
alert('你必須選擇一個文件.');
}
});
</script>
</body>
</html>
七牛的產(chǎn)品真的還是不錯的,大家可以借鑒我前邊的文章,有服務器備份的(LINUX)還有uploadify這個插件的,相對來說這個JS插件簡單話,當然里邊還有七牛的查詢代碼,如果大家有什么疑問盡管問我
相關文章
Highcharts 非常實用的Javascript統(tǒng)計圖demo示例
官網(wǎng)實例中給出了各式各樣的demo,可以參照document修改自己需要的即可,本文實現(xiàn)的是一個學生成績走勢demo,有需求的朋友可以參考下哈,希望對大家有所幫助2013-07-07理解Javascript_14_函數(shù)形式參數(shù)與arguments
在'執(zhí)行模型詳解'的'函數(shù)執(zhí)行環(huán)境'一節(jié)中對arguments有了些許的了解,那么讓我們深入的分析一下函數(shù)的形式參數(shù)與arguments的關系。2010-10-10javascript:window.open彈出窗口的位置問題
這篇文章主要介紹了javascript:window.open彈出窗口的位置問題,需要的朋友可以參考下2014-03-03javascript實現(xiàn)的多個層切換效果通用函數(shù)實例
這篇文章主要介紹了javascript實現(xiàn)的多個層切換效果通用函數(shù),涉及javascript針對頁面元素樣式的遍歷與操作技巧,需要的朋友可以參考下2015-07-07JavaScript實現(xiàn)函數(shù)重載的代碼示例
在JavaScript中并沒有直接支持函數(shù)重載的機制,但是可以通過一些技巧來模擬函數(shù)重載的效果,比如使用參數(shù)判斷,使用默認參數(shù),對象參數(shù),這些方法都可以實現(xiàn)類似函數(shù)重載的效果,所以本文就給大家介紹一下JavaScript如何實現(xiàn)函數(shù)重載,需要的朋友可以參考下2023-08-08