Загрузка изображений с использованием angularjs и сервлета

#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.