У меня есть следующие фрагменты кода в моем MVC 3 приложении:HttpFilePostedBase параметр является нулевым
Вид:
@(Html.Telerik().Upload()
.Name("insertAttachement")
.Multiple(false)
.Async(async => async.Save("InsertUpload", "DocumentMaquette"))
.Localizable("fr-CH")
.ClientEvents(events => events
.OnLoad("handleUploadControlLoad")
.OnUpload("handleInsertUpload")
)
)
контроллера метод:
public void InsertUpload(HttpPostedFileBase attachement)
{
DocumentMaquetteModel model = new DocumentMaquetteModel();
model.fileName_DMQ = attachement.FileName;
}
JS обработчиках событий Файла:
function handleInsertUpload(e) {
console.log(e.files);
}
function handleUploadControlLoad() {
// handle buttons
$(this).parent().find('.t-button.t-grid-insert, .t-button.t-grid-cancel').remove();
// schedule grid refresh on window close
$(this).closest('.t-window').on('close', refreshGrid);
}
function refreshGrid() {
$('.t-grid').data('tGrid').ajaxRequest();
}
Th е выход в консоли:
[Object]
0: Object
extension: ".odt"
name: "ListeDeParticipantsParSP.odt"
rawFile: File
size: 761691
__proto__: Object
length: 1
__proto__: Array[0]
Но в методе контроллера я получаю исключение NullReferenceException, когда я пытаюсь получить имя файла из вложения, так как параметр является недействительным.
Любая информация об этом более чем приветствуется.
Спасибо, Silviu
Я бы обернул логику загрузки файлов в блок catch try, поймал исключения и обработал его соответствующим образом. Могли бы сэкономить вам немного позже. – mezmi