diff options
-rw-r--r-- | js/io/system/chromeapi.js | 2 | ||||
-rwxr-xr-x | js/io/system/coreioapi.js | 5 | ||||
-rw-r--r-- | js/io/system/ninjalibrary.js | 18 |
3 files changed, 19 insertions, 6 deletions
diff --git a/js/io/system/chromeapi.js b/js/io/system/chromeapi.js index c19a7d3b..eee7409d 100644 --- a/js/io/system/chromeapi.js +++ b/js/io/system/chromeapi.js | |||
@@ -146,7 +146,7 @@ exports.ChromeApi = Montage.create(Object.prototype, { | |||
146 | callback({content: this.result, data: file, file: f, url: f.toURL()}); | 146 | callback({content: this.result, data: file, file: f, url: f.toURL()}); |
147 | } | 147 | } |
148 | }; | 148 | }; |
149 | reader.readAsText(file); | 149 | reader.readAsArrayBuffer(file); |
150 | }, function (e) {if (callback) callback(false)}); | 150 | }, function (e) {if (callback) callback(false)}); |
151 | }, function (e) {if (callback) callback(false)}); | 151 | }, function (e) {if (callback) callback(false)}); |
152 | } | 152 | } |
diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js index 7edb469b..e2c2e4dd 100755 --- a/js/io/system/coreioapi.js +++ b/js/io/system/coreioapi.js | |||
@@ -402,15 +402,16 @@ exports.CoreIoApi = Montage.create(Component, { | |||
402 | xhr = new XMLHttpRequest(); | 402 | xhr = new XMLHttpRequest(); |
403 | // | 403 | // |
404 | xhr.open("POST", serviceURL, false); | 404 | xhr.open("POST", serviceURL, false); |
405 | xhr.responseType = "arraybuffer"; | ||
405 | if(file.contentType && file.contentType.length) | 406 | if(file.contentType && file.contentType.length) |
406 | xhr.setRequestHeader("Content-Type", file.contentType); | 407 | xhr.setRequestHeader("Content-Type", file.contentType); |
407 | else | 408 | else |
408 | xhr.setRequestHeader("Content-Type", "text/plain"); | 409 | xhr.setRequestHeader("Content-Type", "text/plain"); |
409 | 410 | ||
410 | if(file.contents && file.contents.length) | 411 | if (file.contents) |
411 | xhr.send(file.contents); | 412 | xhr.send(file.contents); |
412 | else | 413 | else |
413 | xhr.send(); | 414 | xhr.send(); |
414 | 415 | ||
415 | if (xhr.readyState === 4) { | 416 | if (xhr.readyState === 4) { |
416 | retValue.status = xhr.status; | 417 | retValue.status = xhr.status; |
diff --git a/js/io/system/ninjalibrary.js b/js/io/system/ninjalibrary.js index 3914ec29..7b524189 100644 --- a/js/io/system/ninjalibrary.js +++ b/js/io/system/ninjalibrary.js | |||
@@ -114,8 +114,18 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
114 | //File to copy | 114 | //File to copy |
115 | this.chromeApi.fileContent(contents[i].fullPath, function (result) { | 115 | this.chromeApi.fileContent(contents[i].fullPath, function (result) { |
116 | // | 116 | // |
117 | this.coreApi.createFile({uri: fileRoot+result.file.fullPath, contents: result.content, contentType: result.data.type}); | 117 | |
118 | //this.coreApi.createFile({uri: fileRoot+result.file.fullPath, contents: result.content}); | 118 | /* |
119 | var ui8a = new Uint8Array(result.content); | ||
120 | console.log(ui8a); | ||
121 | |||
122 | var blob = new window.WebKitBlobBuilder; | ||
123 | blob.append(result.content); | ||
124 | */ | ||
125 | //console.log(blob.getBlob(result.data.type)); | ||
126 | //this.coreApi.createFile({uri: fileRoot+result.file.fullPath, contents: result.content, contentType: result.data.type}); | ||
127 | //this.coreApi.createFile({uri: fileRoot+result.file.fullPath, contents: blob.getBlob(result.data.type), contentType: result.data.type}); | ||
128 | this.coreApi.createFile({uri: fileRoot+result.file.fullPath, contents: result.content}); | ||
119 | }.bind(this)); | 129 | }.bind(this)); |
120 | } | 130 | } |
121 | } | 131 | } |
@@ -187,11 +197,12 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
187 | //Getting file contents | 197 | //Getting file contents |
188 | xhr = new XMLHttpRequest(); | 198 | xhr = new XMLHttpRequest(); |
189 | xhr.open("GET", tocopylibs[i].path, false); | 199 | xhr.open("GET", tocopylibs[i].path, false); |
200 | xhr.responseType = "arraybuffer"; | ||
190 | xhr.send(); | 201 | xhr.send(); |
191 | //Checking for status | 202 | //Checking for status |
192 | if (xhr.readyState === 4) { //TODO: add check for mime type | 203 | if (xhr.readyState === 4) { //TODO: add check for mime type |
193 | //Creating new file from loaded content | 204 | //Creating new file from loaded content |
194 | //this.chromeApi.fileNew('/'+tocopylibs[i].name+'/'+tocopylibs[i].file, xhr.response, function (status) {if(status) this.libraryCopied()}.bind(this)); | 205 | this.chromeApi.fileNew('/'+tocopylibs[i].name+'/'+tocopylibs[i].file, xhr.response, function (status) {if(status) this.libraryCopied()}.bind(this)); |
195 | } else { | 206 | } else { |
196 | //Error creating single file library | 207 | //Error creating single file library |
197 | } | 208 | } |
@@ -225,6 +236,7 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
225 | for (i=0; this.files[i]; i++) { | 236 | for (i=0; this.files[i]; i++) { |
226 | xhr = new XMLHttpRequest(); | 237 | xhr = new XMLHttpRequest(); |
227 | xhr.open("GET", this.root+this.files[i], false); | 238 | xhr.open("GET", this.root+this.files[i], false); |
239 | xhr.responseType = "arraybuffer"; | ||
228 | xhr.send(); | 240 | xhr.send(); |
229 | //Checking for status | 241 | //Checking for status |
230 | if (xhr.readyState === 4) { | 242 | if (xhr.readyState === 4) { |