이 플러그인은 주로 대상이 된 사용자는 무엇입니까?
1. 서버를 다운로드하는 사용자가 되려면 대역폭이나 공간이 충분하지 않습니다. 어떻게해야합니까? 웹 사이트를 중간 계층으로 만들고 서버에 업로드하면 실제로 Qiniu 클라우드 스토리지에 업로드됩니다. 다운로드는 공간과 대역폭을 절약하는 Qiniu에서 다운로드하는 것과 같습니다. 이는 작은 공간이 다운로드 사이트로 사용할 수 없을 가능성을 해결합니다!
2. 내 서버는 매우 좋지만 때로는 사용자가 몇 k 속도 만 업로드합니다. ISP의 한계는 64KB로 제한되지만 몇 개의 K에 도달 할 수는 없습니다. 이것은 실제입니다. 또한 업로드 서버로 사용한 다음 소프트웨어를 사용하여 정기적으로 서버로 다운로드합니다. 이것이 웹 사이트 소유자가 지금하는 일입니다.
3. 개인 문서 라이브러리를 만들고 다른 사람들이 내 클라우드 공간에 업로드하도록하십시오.
아래 그림에 표시된 예제입니다
이 플러그인과 관련하여 JS에서 Plupload 플러그인이 정말 강력하다고 말해야합니다. 강력한 문제가 있습니다. 복잡합니다. 복잡한 것은 사용자 정의를 의미합니다. 직접 수행하면 원하는 기능을 구현할 수 있습니다. 이 플러그인에 대해서만 이야기하면 너무 어려울 것입니다. 공식 API를 참조 할 수 있습니다. 나는 단지 Qiniu 데모를 만들고 있습니다. 앞에 업로드가 있으면 살펴볼 수 있습니다!
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 = 새로운 qiniu_rs_putpolicy ($ 버킷);
$ uptoken = $ putpolicy-> 토큰 (null);
?>
<! doctype html>
<html xmlns = "http://www.w3.org/1999/xhtml"dir = "ltr">
<헤드>
<meta http-equiv = "content-type"content = "text/html; charset = utf-8"/>
<title> qiniu를위한 plupload </title>
<link rel = "stylesheet"href = "// ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css"type = "text/css"/>
<script src = "// ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"> </script>
<script src = "// 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>
<바디 스타일 = "font : 13px verdana; 배경 : #eee; 컬러 : #333">
<h1> plupload to qiniu 예 </h1>
<div id = "업 로더">
<p> 브라우저에는 플래시, 실버 라이트 또는 html5 지원이 없습니다. </p>
</div>
<script type = "text/javaScript">
$ (function () {
$ ( "#업 로더"). Pluploadqueue ({{
// 유형을 설정합니다
runtimes : 'html5, 플래시, 실버 라이트',
// 업로드 된 URL을 설정합니다
URL : 'http://up.qiniu.com/',
멀티 파트 : 사실,
// 게시물이 Qiniu로 전달 된 토큰을 설정합니다
multipart_params : {
'토큰': '<? php echo $ uptoken; ?> ',
},
크기 조정 : {너비 : 800, 높이 : 600, 품질 : 60}, // 세트 크기
// 포스트 필드를 qiniu 파일로 수정합니다
file_data_name : 'file',
// 제한 사항을 설정합니다
필터 : {
// 크기를 설정합니다
max_file_size : '10MB',
// 허용되는 업로드 유형
mime_types : [
{제목 : "이미지 파일", 확장 : "PNG, JPEG"},
{제목 : "RAR 파일", 확장 : "rar, zip, tar.gz"}}
]]
},
// 플래시로 경로를 설정합니다
Flash_swf_url : './js/moxie.swf',
// 실버 라이트로 경로를 설정합니다
silverlight_xap_url : './js/moxie.xap',
// 멀티 파일 업로드 여러 파일을 업로드하면 여기에서 주석을 제거 할 수 있습니다.
// preinit : {
// uploadfile : function (up, file) {
// up.settings.multipart_params.key = file.name;
//}
//},
});
var 업 로더 = $ ( '#uploader'). pluploadqueue (); // 업로드 큐를 가져옵니다
// 파일을 바인딩하기위한 많은 구체적인 방법이 있습니다. 공식 API 단일 파일 업로드 방법을 볼 수 있습니다.
uploader.bind ( 'filesadded', function (up, files) {
// 파일 이름 가져 오기 이것은 여러 파일을 루프로 업로드 해야하는 경우 단일입니다.
var filename = files [0] .name;
var filedata = filename.split ( ".");
var type = filedata [filedata.length-1];
up.settings.multipart_params.key = "<? php echo 날짜 ( 'ymd-his'). '-'. rand (10000,99999);?>"+"."+유형;
});
if (uploader.files.length> 0) {// 업로드 큐에 여전히 파일이있는 경우
UPLOADER.START ();
} 또 다른 {
경고 ( '파일을 선택해야합니다.');
}
});
</스크립트>
</body>
</html>
Qiniu의 제품은 정말 좋습니다. Server Backup (Linux) 및 Uploadify 플러그인을 포함한 이전 기사에서 배울 수 있습니다. 비교적 말하면,이 JS 플러그인은 간단합니다. 물론 Qiniu의 쿼리 코드도 있습니다. 궁금한 점이 있으면 저에게 물어보십시오.