У меня есть следующий входной элемент:
<div class="form-group">
<label>Attach BOL Document</label>
<input name="file" type="file" class="form-control" onchange="angular.element(this).scope().uploadFile(this.files)" />
</div>
В мой контроллер (за пределами какой-либо функции) Я установить переменную как это:
$scope.fd = new FormData();
и я имеют следующие функции определяется, что пожары OnChange входного элемента, как показано выше:
$scope.uploadFile = function (files) {
console.log(files[0]);
$scope.fd.append("file", files[0]);
console.log($scope.fd);
};
Первый console.log выводит Fi le, поскольку я ожидаю, поэтому я знаю, что это передается в мою область. Проблема заключается в том, что второй console.log выводит пустой объект FormData. Объект File не добавляется?
Я подумал, что это было что-то делать с тем, что я объявляющего $ scope.fd вне функции UploadFIle, но даже объявив ее внутри функции не работает ...
Почему ???
Не приложено или не отражено в представлении? потому что вы не выполняете '$ scope. $ apply()' – PSL
что с фанкой ссылкой в 'onchange'? в этом примере нет каких-либо оснований для использования 'angleular.element', о котором я знаю? – Claies
Я думаю, что он не добавляется, поскольку я вижу пустой объект FormData в инструкции console.log, отображаемом в консоли JavaScript. Я не пытаюсь обновить представление этим значением, оно будет отправлено на сервер через $ http. «Напуганная» ссылка с onchange связана с тем, что ng-модель не поддерживается в качестве входного типа «файл». См. Это сообщение для справки: –