Я пытаюсь загрузить файл (на данный момент любого расширения) в extjs. У меня есть модель и магазин. загрузка файла происходит из окна, и у меня нет формы в окне. Весь пример, который я попробовал в сети, - это form.submit(). Вместо этого я использую и Ajax, как показано ниже, чтобы отправить данные на сервер.Загрузка файла в extjs 4.2 без формы.submit()
Ext.Ajax.request({
url : 'qaf/saveSetupDetails.action',
params : {
'data' : recordsToSend
},
failure : function(response){
//console.log('error connecting controller');
},
success : function(response){
//console.log('successfully submitted');
}
});
Записи для отправки данных получены ниже.
var store = Ext.getStore('SomeStore');
var modifiedRecords = store.getModifiedRecords();
var recordsToSend = [];
if(modifiedRecords.length > 0){
Ext.each(modifiedRecords, function(record){
recordsToSend.push(record.data);//I'm sure that this is so dump but this is how I do it for other records which are string and not sure how to do it for a file...
});
}
Ext.USE_NATIVE_JSON = true;
recordsToSend = Ext.encode(recordsToSend);
При настройке записи в модели, я использую следующий код ..
var rec = Ext.create('QAF.model.MyModel');
rec.set('modelField',Ext.getCmp('fileUploadCompID').value);
я получил ошибку 500 статуса с ответом "Cannot convert value of type [java.lang.String] to required type [org.springframework.web.multipart.commons.CommonsMultipartFile]"
я уверен, что это из-за того, как я устанавливаю значение для модели, так как Ext.getCmp('fileUploadCompID').value
дает имя файла. Пожалуйста, дайте мне знать, как установить файл в модель и какой тип данных я должен указать для поля в модели.
Ниже приведен пример того, как я пытаюсь восстановить файл в контроллере пружины.
@RequestMapping (value = "/qaf/saveSetupDetails.action")
public @ResponseBody
void saveSetupDetails(@RequestParam CommonsMultipartFile data)throws Exception{
log.info("Enter into saveSetupDetails method..." + data.getOriginalFilename());
}
Пожалуйста, дайте мне знать, что я делаю неправильно, и что должно быть сделано, чтобы исправить это ...
Привет ... К сожалению за задержку в ответе. Я проверю это ... многое. – CARTIC