Загрузка файла в MVC с помощью angularjs
Я хочу загрузить файл с помощью MVC с angularJS.
Но файл HttpPostedFileBase в контроллере MVC показывает null.but javascript содержит значение файла.
пожалуйста помочь.
Что я уже пробовал:
в HTML:
<input type="file" onchange="angular.element(this).scope().setFile(this)" />
Javascript AngularJS:
код JavaScript:
$область действия.setFile = функция (элемент) {
$объем.$подать(функция ($охвата) {
$область действия.файл = элемент.файлы[0];
});
};
urlCollectionService.saveInterventionExpenseDetails ($scope. theFile). then(функция (данные) {}
В urlCollectionService.js
это.saveInterventionExpenseDetails = функция ( файл) {
return serviceHandler. postService(домен + "/EnterData/SaveInterventionExpenseDetails", файл);
}
В UrlcollectionService:
Файл содержит все значения файла, такие как: дата изменения, имя, размер и т.д...
В MVC контроллер:
public JsonResult SaveInterventionExpenseDetails(файл HttpPostedFileBase )
{}
В контроллере MVC "файл" содержит Null.
Nathan Minier
Обертываете ли вы свои файлы в объект JavaScript FormData перед их отправкой?
Member 11449483
Это всего лишь один файл за один раз.
И весь сценарий кода определен ниже, так что, пожалуйста, помогите мне ...
Nathan Minier
Это не имеет значения. Если вы не обернете его в FormData перед публикацией, HttpPostedFileBase будет недоступна.
Member 11449483
Пожалуйста, дайте мне некоторые подсказки или код, чтобы я мог идти вперед.
Спасибо за ответ.
Nathan Minier
это.saveInterventionExpenseDetails = функция (файл) {
var formData = new FormData(); //должен быть доступен в контексте, совместимом с html5
formData. append ('file0', файл, File.name);
return serviceHandler. postService(domain + "/EnterData/SaveInterventionExpenseDetails", formData);
}
https://developer.mozilla.org/en-US/docs/Web/API/FormData
Member 11449483
Это не работает.Извиняюсь.
Пожалуйста, дайте мне другой вариант.