Skip to content

Commit 587e725

Browse files
committed
Merge pull request #5 from qiniupd/7481_add_key_handler
add key handler
2 parents ee0eb3c + 5e395b9 commit 587e725

File tree

6 files changed

+244
-173
lines changed

6 files changed

+244
-173
lines changed

.DS_Store

6 KB
Binary file not shown.

README.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ qiniu-js-sdk
6060
runtimes: 'html5,flash,html4', //上传模式,依次退化
6161
browse_button: 'pickfiles', //上传选择的点选按钮,**必需**
6262
uptoken_url: '/token', //Ajax请求upToken的Url,**强烈建议设置**(服务端提供)
63-
// uptoken : '<Your upload token>', //若你未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
63+
// uptoken : '<Your upload token>', //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
64+
// unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。
65+
// save_key: true, // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK会忽略对key的处理
6466
domain: 'http://qiniu-plupload.qiniudn.com/', //bucket 域名,下载资源时用到,**必需**
6567
container: 'container', //上传区域DOM ID,默认是browser_button的父元素,
6668
max_file_size: '100mb', //最大文件体积限制
@@ -73,18 +75,18 @@ qiniu-js-sdk
7375
init: {
7476
'FilesAdded': function(up, files) {
7577
plupload.each(files, function(file) {
76-
//文件添加进队列后,处理相关的事情
78+
// 文件添加进队列后,处理相关的事情
7779
});
7880
},
7981
'BeforeUpload': function(up, file) {
80-
//每个文件上传前,处理相关的事情
82+
// 每个文件上传前,处理相关的事情
8183
},
8284
'UploadProgress': function(up, file) {
83-
//每个文件上传时,处理相关的事情
85+
// 每个文件上传时,处理相关的事情
8486
},
8587
'FileUploaded': function(up, file, info) {
86-
//每个文件上传成功后,处理相关的事情
87-
//其中 info 是文件上传成功后,服务端返回的json,形式如
88+
// 每个文件上传成功后,处理相关的事情
89+
// 其中 info 是文件上传成功后,服务端返回的json,形式如
8890
// {
8991
// "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
9092
// "key": "gogopher.jpg"
@@ -100,6 +102,14 @@ qiniu-js-sdk
100102
},
101103
'UploadComplete': function() {
102104
//队列文件处理完毕后,处理相关的事情
105+
},
106+
'Key': function(up, file) {
107+
// 若想在前端对每个文件的key进行个性化处理,可以配置该函数
108+
// 该配置必须要在 unique_names: false , save_key: false 时才生效
109+
110+
var key = "";
111+
// do something with key here
112+
return key
103113
}
104114
}
105115
});
@@ -278,6 +288,10 @@ qiniu-js-sdk
278288
279289
* [安装nodejs](http://nodejs.org/download/)
280290
291+
* [安装npm](https://www.npmjs.org/)
292+
293+
* 安装七牛 Node.js SDK、express `npm install`
294+
281295
* 获取源代码:
282296
`git clone [email protected]:qiniupd/qiniu-js-sdk.git`
283297
* 进入`demo`目录,修改`config.js`,`Access Key`和`Secret Key` 按如下方式获取
@@ -303,7 +317,7 @@ qiniu-js-sdk
303317
304318
1. 本SDK依赖Plupload,初始化之前请引入Plupload插件
305319
306-
2. 本SDK依赖服务端颁发uptoken,必须构建后端服务
320+
2. 本SDK依赖服务端颁发uptoken,可以提供Ajax请求地址 `uptoken_url` 或者直接设置 `uptoken` 实现,建议前者。
307321
308322
3. 如果您想了解更多七牛的上传策略,建议您仔细阅读 [七牛官方文档-上传](http://developer.qiniu.com/docs/v6/api/reference/up/)
309323

demo/index.html

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,6 @@ <h1 class="text-left col-md-12 ">
7070
</tr>
7171
</thead>
7272
<tbody id="fsUploadProgress">
73-
<!-- <tr>
74-
<td class="progressName">the Bird</td>
75-
<td class="progressFileSize">Larry</td>
76-
<td>
77-
// <div class="progress">
78-
// <div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 20%">
79-
// <span class="sr-only">20% Complete</span>
80-
// </div>
81-
// </div>
82-
// <div class="status"></div>
83-
</td>
84-
</tr> -->
8573
</tbody>
8674
</table>
8775
</div>
@@ -100,7 +88,10 @@ <h4 class="modal-title" id="myModalLabel">查看初始化代码</h4>
10088
var uploader = Qiniu.uploader({
10189
runtimes: 'html5,flash,html4', //上传模式,依次退化
10290
browse_button: 'pickfiles', //上传选择的点选按钮,**必需**
103-
uptoken_url: '/token', //Ajax请求upToken的Url,**必需**(服务端提供)
91+
uptoken_url: '/token', //Ajax请求upToken的Url,**强烈建议设置**(服务端提供)
92+
// uptoken : '<Your upload token>', //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
93+
// unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。
94+
// save_key: true, // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK会忽略对key的处理
10495
domain: 'http://qiniu-plupload.qiniudn.com/', //bucket 域名,下载资源时用到,**必需**
10596
container: 'container', //上传区域DOM ID,默认是browser_button的父元素,
10697
max_file_size: '100mb', //最大文件体积限制
@@ -113,18 +104,18 @@ <h4 class="modal-title" id="myModalLabel">查看初始化代码</h4>
113104
init: {
114105
'FilesAdded': function(up, files) {
115106
plupload.each(files, function(file) {
116-
//文件添加进队列后,处理相关的事情
107+
// 文件添加进队列后,处理相关的事情
117108
});
118109
},
119110
'BeforeUpload': function(up, file) {
120-
//每个文件上传前,处理相关的事情
111+
// 每个文件上传前,处理相关的事情
121112
},
122113
'UploadProgress': function(up, file) {
123-
//每个文件上传时,处理相关的事情
114+
// 每个文件上传时,处理相关的事情
124115
},
125116
'FileUploaded': function(up, file, info) {
126-
//每个文件上传成功后,处理相关的事情
127-
//其中 info 是文件上传成功后,服务端返回的json,形式如
117+
// 每个文件上传成功后,处理相关的事情
118+
// 其中 info 是文件上传成功后,服务端返回的json,形式如
128119
// {
129120
// "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
130121
// "key": "gogopher.jpg"
@@ -140,6 +131,14 @@ <h4 class="modal-title" id="myModalLabel">查看初始化代码</h4>
140131
},
141132
'UploadComplete': function() {
142133
//队列文件处理完毕后,处理相关的事情
134+
},
135+
'Key': function(up, file) {
136+
// 若想在前端对每个文件的key进行个性化处理,可以配置该函数
137+
// 该配置必须要在 unique_names: false , save_key: false 时才生效
138+
139+
var key = "";
140+
// do something with key here
141+
return key
143142
}
144143
}
145144
});

demo/js/main.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/*global Qiniu */
2+
/*global plupload */
3+
/*global FileProgress */
4+
/*global hljs */
5+
16
var uploader = Qiniu.uploader({
27
runtimes: 'html5,flash,html4',
38
browse_button: 'pickfiles',
@@ -9,6 +14,8 @@ var uploader = Qiniu.uploader({
914
chunk_size: '4mb',
1015
uptoken_url: '/token',
1116
domain: 'http://qiniu-plupload.qiniudn.com/',
17+
// unique_names: true,
18+
// save_key: true,
1219
auto_start: true,
1320
init: {
1421
'FilesAdded': function(up, files) {
@@ -45,6 +52,12 @@ var uploader = Qiniu.uploader({
4552
progress.setError();
4653
progress.setStatus(errTip);
4754
}
55+
// ,
56+
// 'Key': function(up, file) {
57+
// var key = "";
58+
// // do something with key
59+
// return key
60+
// }
4861
}
4962
});
5063

@@ -203,4 +216,4 @@ $(function() {
203216
return false;
204217
});
205218

206-
});
219+
});

0 commit comments

Comments
 (0)