mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 20:12:14 +09:00
Safari, Chrome을 위한 HTML5 호환성 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7901 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
6cf633ea4f
commit
3b955443ee
1 changed files with 32 additions and 20 deletions
|
|
@ -350,26 +350,36 @@ runtimes.html5 = {
|
||||||
(function uploadNext() {
|
(function uploadNext() {
|
||||||
var file = files.shift();
|
var file = files.shift();
|
||||||
var req = uploader.request = new XMLHttpRequest();
|
var req = uploader.request = new XMLHttpRequest();
|
||||||
var data = '';
|
|
||||||
var bndr = '--------------xe-boundary'+random();
|
var bndr = '--------------xe-boundary'+random();
|
||||||
var bin = file.object.getAsBinary();
|
var compatFF, data, bin, gap = 0;
|
||||||
var gap = 0;
|
|
||||||
|
// Firefox compatible mode
|
||||||
|
compatFF = typeof(file.object.getAsBinary) == 'function';
|
||||||
|
|
||||||
|
if (compatFF) {
|
||||||
|
data = '';
|
||||||
|
$.each(settings.params, function(key, val) {
|
||||||
|
data += '--'+bndr+'\r\n';
|
||||||
|
data += 'Content-Disposition: form-data; name="'+key+'"\r\n\r\n';
|
||||||
|
data += val+'\r\n';
|
||||||
|
});
|
||||||
|
|
||||||
$.each(settings.params, function(key, val) {
|
|
||||||
data += '--'+bndr+'\r\n';
|
data += '--'+bndr+'\r\n';
|
||||||
data += 'Content-Disposition: form-data; name="'+key+'"\r\n\r\n';
|
data += 'Content-Disposition: form-data; name="Filedata"; filename="'+file.name+'"\r\n';
|
||||||
data += val+'\r\n';
|
data += 'Content-Type: application/octet-stream\r\n\r\n';
|
||||||
});
|
data += bin;
|
||||||
|
data += '\r\n';
|
||||||
|
data += '--'+bndr+'--\r\n';
|
||||||
|
|
||||||
data += '--'+bndr+'\r\n';
|
bin = null;
|
||||||
data += 'Content-Disposition: form-data; name="Filedata"; filename="'+file.name+'"\r\n';
|
gap = data.length - file.object.fileSize;
|
||||||
data += 'Content-Type: application/octet-stream\r\n\r\n';
|
} else {
|
||||||
data += bin;
|
data = new FormData();
|
||||||
data += '\r\n';
|
$.each(settings.params, function(key, val) {
|
||||||
data += '--'+bndr+'--\r\n';
|
data.append(key, val);
|
||||||
|
});
|
||||||
bin = null;
|
data.append('Filedata', file.object);
|
||||||
gap = data.length - file.object.fileSize;
|
}
|
||||||
|
|
||||||
uploader.cast('ON_STARTONE', [file]);
|
uploader.cast('ON_STARTONE', [file]);
|
||||||
|
|
||||||
|
|
@ -417,10 +427,12 @@ runtimes.html5 = {
|
||||||
}
|
}
|
||||||
|
|
||||||
req.open('POST', settings.url);
|
req.open('POST', settings.url);
|
||||||
req.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+bndr);
|
if (compatFF) {
|
||||||
|
req.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+bndr);
|
||||||
if (req.sendAsBinary) req.sendAsBinary(data);
|
req.sendAsBinary(data);
|
||||||
else req.send(data);
|
} else {
|
||||||
|
req.send(data);
|
||||||
|
}
|
||||||
})();
|
})();
|
||||||
},
|
},
|
||||||
stop : function(uploader, settings) {
|
stop : function(uploader, settings) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue