Skip to content

Commit 4f3dd49

Browse files
committed
Merge pull request #30 from qiniupd/fix_safari_bug
disable chunk upload feature in ios7/windows7 safari for bug
2 parents fc7d0b1 + 38063d7 commit 4f3dd49

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/qiniu.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*global plupload */
1+
/*global plupload ,mOxie*/
22
/*global ActiveXObject */
33
/*exported Qiniu */
44

@@ -250,11 +250,17 @@ function QiniuJsSDK() {
250250
var reset_chunk_size = function() {
251251
var ie = that.detectIEVersion();
252252
var BLOCK_BITS, MAX_CHUNK_SIZE, chunk_size;
253+
var isSpecialSafari = (mOxie.Env.browser === "Safari" && mOxie.Env.version <= 5 && mOxie.Env.os === "Windows" && mOxie.Env.osVersion === "7") || (mOxie.Env.browser === "Safari" && mOxie.Env.os === "iOS" && mOxie.Env.osVersion === "7");
253254
if (ie && ie <= 9 && op.chunk_size && op.runtimes.indexOf('flash') >= 0) {
254255
// link: http://www.plupload.com/docs/Frequently-Asked-Questions#when-to-use-chunking-and-when-not
255256
// when plupload chunk_size setting is't null ,it cause bug in ie8/9 which runs flash runtimes (not support html5) .
256257
op.chunk_size = 0;
257258

259+
} else if (isSpecialSafari) {
260+
// win7 safari / iOS7 safari have bug when in chunk upload mode
261+
// reset chunk_size to 0
262+
// disable chunk in special version safari
263+
op.chunk_size = 0;
258264
} else {
259265
BLOCK_BITS = 20;
260266
MAX_CHUNK_SIZE = 4 << BLOCK_BITS; //4M
@@ -372,7 +378,6 @@ function QiniuJsSDK() {
372378

373379
var chunk_size = up.getOption && up.getOption('chunk_size');
374380
chunk_size = chunk_size || (up.settings && up.settings.chunk_size);
375-
376381
if (uploader.runtime === 'html5' && chunk_size) {
377382
if (file.size < chunk_size) {
378383
directUpload(up, file, that.key_handler);
@@ -392,6 +397,7 @@ function QiniuJsSDK() {
392397
'url': 'http://up.qiniu.com/mkblk/' + blockSize,
393398
'multipart': false,
394399
'chunk_size': chunk_size,
400+
'required_features': "chunks",
395401
'headers': {
396402
'Authorization': 'UpToken ' + that.token
397403
},

0 commit comments

Comments
 (0)