Elfayer
16 Oct 2012, 4:50 AM
Hi,
I have that error that I don't understand... From that code :
'#submitUpload': {
/* When you click on the "upload" button on the upload window */
click: function () {
if (!FormData) {
alert('Sorry, your browser doesn\'t support the File API');
return true;
}
this.uploadMethod(files);
}
},
uploadMethod: function (files) {
var me = this;
var fileName = me.fileNotUploaded();
if (fileName != null) {
var i = 0;
while (i < files.length) {
if (files[i].name == fileName)
var file = files[i];
i++;
}
console.log(file);
var formData = new FormData();
formData.append('file', file);
formData.append('folderId', (Ext.ComponentQuery.query('#treePanel')[0]).getSelectionModel().getSelection()[0].data.id);
var xhr = me.getXMLHttpRequest();
xhr.open('post', '/File/Upload', true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
if ((xhr.response).indexOf("error") != -1) {
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('status', '<img src="/Content/images/error.png">');
me.getUploadStore().commitChanges();
}
else {
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('status', '<img src="/Content/images/done.png">');
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('progress', 100);
me.getUploadStore().commitChanges();
me.getUserSessionStore().load();
me.getFilesStore().load();
me.uploadMethod(files);
}
// }
}
};
xhr.upload.addEventListener("progress", function (e) {
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('status', '<img src="/Content/images/loading.png">');
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('progress', Math.round((e.position / e.totalSize) * 100));
me.getUploadStore().commitChanges();
});
xhr.send(formData);
}
else
me.getUploadStore().remove((Ext.ComponentQuery.query('#fileGrid')[0]).getSelectionModel().getSelection());
},
getXMLHttpRequest: function () {
var xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
xhr = new XMLHttpRequest();
}
} else {
alert("Your browser do not support WMLHttpRequest object...");
return null;
}
return xhr;
},
fileNotUploaded: function () {
var ret = null;
var i = 0;
Ext.each((Ext.ComponentQuery.query('#fileGrid')[0]).getSelectionModel().getSelection(), function (item) {
if (item.data.progress == 0 && i == 0) {
i++;
ret = item.data.fileName;
}
});
return ret;
}
I have that error that I don't understand... From that code :
'#submitUpload': {
/* When you click on the "upload" button on the upload window */
click: function () {
if (!FormData) {
alert('Sorry, your browser doesn\'t support the File API');
return true;
}
this.uploadMethod(files);
}
},
uploadMethod: function (files) {
var me = this;
var fileName = me.fileNotUploaded();
if (fileName != null) {
var i = 0;
while (i < files.length) {
if (files[i].name == fileName)
var file = files[i];
i++;
}
console.log(file);
var formData = new FormData();
formData.append('file', file);
formData.append('folderId', (Ext.ComponentQuery.query('#treePanel')[0]).getSelectionModel().getSelection()[0].data.id);
var xhr = me.getXMLHttpRequest();
xhr.open('post', '/File/Upload', true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
if ((xhr.response).indexOf("error") != -1) {
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('status', '<img src="/Content/images/error.png">');
me.getUploadStore().commitChanges();
}
else {
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('status', '<img src="/Content/images/done.png">');
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('progress', 100);
me.getUploadStore().commitChanges();
me.getUserSessionStore().load();
me.getFilesStore().load();
me.uploadMethod(files);
}
// }
}
};
xhr.upload.addEventListener("progress", function (e) {
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('status', '<img src="/Content/images/loading.png">');
me.getUploadStore().getAt(me.getUploadStore().findExact('fileName', fileName)).set('progress', Math.round((e.position / e.totalSize) * 100));
me.getUploadStore().commitChanges();
});
xhr.send(formData);
}
else
me.getUploadStore().remove((Ext.ComponentQuery.query('#fileGrid')[0]).getSelectionModel().getSelection());
},
getXMLHttpRequest: function () {
var xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
xhr = new XMLHttpRequest();
}
} else {
alert("Your browser do not support WMLHttpRequest object...");
return null;
}
return xhr;
},
fileNotUploaded: function () {
var ret = null;
var i = 0;
Ext.each((Ext.ComponentQuery.query('#fileGrid')[0]).getSelectionModel().getSelection(), function (item) {
if (item.data.progress == 0 && i == 0) {
i++;
ret = item.data.fileName;
}
});
return ret;
}