Skip to content

Commit 9e866dd

Browse files
committed
upload progress
1 parent 3a112bc commit 9e866dd

6 files changed

+51
-11
lines changed

demo/application.js

+11-5
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,28 @@ $(function() {
1010

1111
$(document).on('click', '.test', DeepUploader.browseHandler);
1212

13-
$(document).on('FileAdded', '.test1', function(event) {
14-
console.log('test1', event.originalEvent.detail);
13+
$(document).on('FileAdded', '.test', function(event) {
14+
console.log('.test added', event.originalEvent.detail);
1515
});
1616

17-
$(document).on('FileAdded', '.test', function(event) {
18-
console.log('.test', event.originalEvent.detail);
17+
$(document).on('FileProgress', '.test', function(event) {
18+
var percent = parseInt(event.originalEvent.detail.percent * 100);
19+
var percentText = '' + percent + '% completed';
20+
$('.test-progress').val(percent);
21+
$('.test-progress-text').html(percentText);
1922
});
2023

2124
$(document).on('FileUploaded', '.test', function(event) {
22-
console.log('.test', event.originalEvent.detail);
25+
console.log('.test uploaded', event.originalEvent.detail);
26+
$('.test-progress').val(0);
27+
$('.test-progress-text').html('');
2328

2429
var $image = $('<img />');
2530
$image.attr('src', event.originalEvent.detail.response.url);
2631
$image.appendTo('body');
2732
});
2833

34+
2935
$(document).on('FileAdded', function(event) {
3036
console.log('document', event.originalEvent.detail);
3137
});

demo/index.html

+4-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
<title>Document</title>
66
</head>
77
<body>
8-
<button class="test" data-uploader-profile="image">触发上传</button>
9-
<button class="test1">触发上传</button>
8+
<button class="test" data-uploader-profile="image">Upload a file</button>
9+
<progress min="0" max="100" value="0" class="test-progress">0% complete</progress>
10+
<span class="test-progress-text"></span>
11+
<hr>
1012
<script src="jquery.min.js"></script>
1113
<script src="../dist/deep_uploader.js"></script>
1214
<script src="application.js"></script>

dist/deep_uploader.js

+17-1
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,20 @@ var BaseUploader = (function () {
218218
self.onFileError(self.xhr.status, self.xhr.responseText);
219219
}
220220
};
221+
222+
self.xhr.upload.onprogress = function (event) {
223+
if (event.lengthComputable) {
224+
var percent = event.loaded / event.total;
225+
var percentText = percent;
226+
227+
self.onFileProgress(function () {
228+
var detail = self._detail();
229+
detail.percent = percent;
230+
231+
_event_trigger2['default'].trigger(self.element, 'FileProgress', detail);
232+
});
233+
}
234+
};
221235
self.xhr.send(self.formData);
222236

223237
callback();
@@ -227,7 +241,9 @@ var BaseUploader = (function () {
227241
value: function cancel() {}
228242
}, {
229243
key: 'onFileProgress',
230-
value: function onFileProgress() {}
244+
value: function onFileProgress(callback) {
245+
callback();
246+
}
231247
}, {
232248
key: 'onFileUploaded',
233249
value: function onFileUploaded(data, callback) {

dist/deep_uploader.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)