Member 11449483 Ответов: 0

Загрузка файла в 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

Это не работает.Извиняюсь.
Пожалуйста, дайте мне другой вариант.

0 Ответов