2013-04-02 4 views
5

Я работаю над возможностью загрузки файлов в extjs + php. Я хочу загрузить файл или изображение из extjs и отправить его на серверную часть, которую я разрабатываю на PHP. В extjs у меня есть файл файла просмотра as-В extjs, как загрузить содержимое загруженного файла

Ext.define('Balaee.view.kp.dnycontent.Content', 
{ 
    extend:'Ext.panel.Panel', 
    requires:[ 
       'Balaee.view.kp.dnycontent.ContentView' 
       ], 
    id:'ContentId', 
    alias:'widget.Content', 
    title:'This day in a history', 
    items:[ 
    { 
     xtype: 'fileuploadfield', 
     hideLabel: true, 
     emptyText: 'Select a file to upload...', 
     id: 'upfile', 
     //name:'file', 
     width: 220 
}], 
    buttons:[ 
    { 
     text: 'Upload', 
     handler: function() { 
      var file = Ext.getCmp('upfile').getEl().down('input[type=file]').dom.files[0];   console.log(file); 
      var reader = new FileReader(); 
      filecontent=reader.readAsBinaryString(file); 
      console.log(filecontent); 
     } 
    } 
] 

});

Так что, когда я пытаюсь загрузить файл Animage с выше code.The выше линии: Ext.getCmp('upfile').getEl().down('input[type=file]').dom.files[0]; хранит информацию о файле, как:

File { 
    webkitRelativePath: "", 
    lastModifiedDate: Tue Jul 14 2009 11:02:31 GMT+0530 (India Standard Time), 
    name: "Koala.jpg", 
    type: "image/jpeg", 
    size: 780831… 
} 

т.е. информация, касающаяся файла извлекается. Но фактическое содержимое файла не получает. Итак, что мне нужно изменить, чтобы получить загруженный файл?

ответ

2

Содержимое файла не возвращается с readAsBinaryString, вы должны установить обратный вызов onload, который будет запущен при чтении содержимого файла.

reader.onload = function (oFREvent) { 
    console.log(oFREvent.target.result); 
}; 
+0

Thanx сэр ... я получаю файл с его все содержимое ... – user1722857

+0

@ user1722857 вы намерены загрузить строку на сервер в попытке загрузить файл с помощью AJAX? Если это так, вы должны использовать [FormData] (https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/FormData). – Musa

+1

На самом деле сэр теперь я застрял в том, что отправить на сервер. Должен ли я отправлять только файл и связанную с ним информацию на сервер, который я получил от «Ext.getCmp ('upfile»). GetEl(). Down (' input [type = file] '). Dom.files [0]; " Но как содержимое файла получит передачу на сервер? Какие изменения мне нужно будет сделать, чтобы передать загруженный файл с его содержимым на сервер? Пожалуйста, сэр, вы можете мне помочь – user1722857

Смежные вопросы