#java #angularjs #servlets
#java #angularjs #сервлеты
Вопрос:
Я пытаюсь загрузить изображение из html -> angularjs -> servlet -> database (здесь я использую метод post).
Мой html
<form class="formCls" ng-submit="addTravel()">
<input type="text" placeholder="Title" ng-model="travel.title"><br>
<input type="text" placeholder="Place from" ng-model="travel.from"><br>
<input type="text" placeholder="Place To" ng-model="travel.to"><br>
<input type="text" placeholder="With" ng-model="travel.withFrnd"><br>
<input type="file" ng-model-instant onchange="angular.element(this).scope().imageUpload(this)"><br>
<input type="submit" id="formSubmit" value="Submit">amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;
<input type="reset" value="Reset"><br><br>
</form>
и мой app.js есть
$scope.imageUpload = function(element) {
var reader = new FileReader();
reader.onload = $scope.imageIsLoaded;
reader.readAsDataURL(element.files[0]);
}
$scope.imageIsLoaded = function(e) {
$scope.$apply(function() {
$scope.stepsModel.push(e.target.result);
});
}
$scope.addTravel = function() {
alert($scope.travel);
console.log($scope.stepsModel);
$http({
method : 'POST',
url : 'NewTravel',
headers : {
'Content-Type' : undefined
},
params : {
title : $scope.travel.title,
from : $scope.travel.from,
to : $scope.travel.to,
withFriend : $scope.travel.withFrnd,
imageArray : $scope.stepsModel
}
}).success(function(data, status, headers, config) {
console.log("I am done");
console.log("data " data);
console.log(status);
console.log(headers);
console.log(config);
$scope.uploaded = 'uploaded Successfully';
$scope.travel = {};
somethingChanged = false;
}).error(function(data, status, headers, config) {
console.log("You need to nail me");
$scope.uploaded = 'Sorry';
});
}
и в сервлете я получаю это как
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("I came to servlet");
System.out.println("Image Array" request.getParameterValues("imageArray"));
String tvTitle = request.getParameter("title");
String tvFrom = request.getParameter("from");
String tvTo = request.getParameter("to");
String tvWith = request.getParameter("withFriend");
String tvImage = request.getParameterValues("imageArray");
System.out.println(tvTitle "n" tvFrom "n" tvTo "n" tvWith "n" tvImage);
}
}
если мне это нравится, я не могу получить данные на стороне сервера, я получаю сообщение об ошибке как con_Aborted или 400 неверный запрос.
как мне загрузить изображение и как мне получить это изображение в сервлете. это правильный способ получения изображения в сервлете
Комментарии:
1. не переопределяйте service(), используйте doPost()
2. sundararajGovindasamy по-прежнему не получаю данные изображения в сервлете. в консоли я получаю данные, и во время отладки они не переходят к успешной части в Anjularjs.