Я полностью фиктивный в AngularJS и ценю вашу помощь здесь.Загрузить файл в IE9 не удается с помощью ng-file-upload + Spring MVC + OAuth2.0
Я пытаюсь реализовать страницу загрузки файла. Это очень просто, пользователь выбирает файл и нажимает кнопку загрузки, и его необходимо загрузить в фоновый код, который является веб-службой Spring MVC REST. Я пытаюсь использовать ng-file-upload.
Вот мой передний конец кода:
<form name="myForm">
<input type="file" ngf-select ng-model="picFile" name="file
accept="application/pdf" ngf-max-size="2MB" required
ngf-model-invalid="errorFiles">
<i ng-show="myForm.file.$error.required">*required</i><br>
<i ng-show="myForm.file.$error.maxSize">File too large
{{errorFiles[0].size/1000000|number:1}}MB: max 2M</i>
<button ng-disabled="!myForm.$valid" ng-click="uploadFiles(picFile)">Submit</button>
и контроллер:
$scope.uploadFiles = function(file, errFiles) {
console.log("Uploading files");
$scope.f = file;
$scope.errFile = errFiles && errFiles[0];
if (file) {
file.upload = Upload.upload({
url: 'api/proposals/upload',
data: {file: file}
});
file.upload.then(function (response) {
$timeout(function() {
file.result = response.data;
});
}, function (response) {
if (response.status > 0)
$scope.errorMsg = response.status + ': ' + response.data;
}, function (evt) {
file.progress = Math.min(100, parseInt(100.0 *
evt.loaded/evt.total));
});
}
};
и мой фоновым:
@RequestMapping(value = "/proposals/upload",method = RequestMethod.POST)
@Timed
public ResponseEntity<TemporaryProposal>
uploadProposal(@RequestParam("file") MultipartFile agreementFile){
Ошибка I» m в консоли IE9 -
TypeError: Unable to get value of the property 'error': object is null or undefined
и от обратного конца:
[DEBUG] com.iocs.portal.aop.logging.LoggingAspect - Enter: org.springframework.boot.actuate.audit.AuditEventRepository.add() with argument[s] = [AuditEvent [timestamp=Tue Mar 01 08:53:23 EST 2016, principal=anonymousUser, type=AUTHORIZATION_FAILURE, data={message=Access is denied, type=org.springframework.security.access.AccessDeniedException}]]
[DEBUG] com.iocs.portal.aop.logging.LoggingAspect - Exit: org.springframework.boot.actuate.audit.AuditEventRepository.add() with result = null
[DEBUG] com.iocs.portal.security.Http401UnauthorizedEntryPoint - Pre-authenticated entry point called. Rejecting access
Кажется, что ваш сервер отклоняет запрос и отправляет ошибку авторизации. Сначала сделайте это для хрома, тогда вы лучше знаете, что проблема в IE9 – danial