File reader fails in angular js sumbit button

时间:2015-05-04 19:51:00

标签: javascript angularjs

I am trying to send data & image to MVC controller from angular js controller. where i am trying to convert image to base 64 and passing to HTTP service call. Actually when i run below code with break point step by step its work fine but when i click after removing all break points. nothing happens screen keeps remains. i think code not wait for success call of reading of file as file reader. can any body suggest what is this actually problem and its solution

$scope.SubmitProduct = function (requiredData) {
        requiredData.DiscountUnitId = $scope.discountUnit
        requiredData.ProductId = requiredData.Id

        for (var i = 0; i < $scope.productCategoryList.data.length; i++) {
            if ($scope.productCategoryList.data[i].Id === $scope.productCategory) {
                requiredData.ProductCategory = $scope.productCategoryList.data[i].CategoryName;
            }
        }

        ///Image 1
        var Image1 = document.getElementById("Image1").files;
        handleFiles(Image1);
        if (Image1 && Image1[0]) {
            var FR = new FileReader();
            FR.readAsDataURL(Image1[0]);
            var imageBase1 = FR.result;
            imageBase1 = /,(.+)/.exec(imageBase1)[1];
            requiredData.Image1 = imageBase1;
        }

        ///Image 2
        var Image2 = document.getElementById("Image2").files;
        if (Image2 && Image2[0]) {
            var FR = new FileReader();
            FR.readAsDataURL(Image2[0]);
            var imageBase2 = FR.result;
            imageBase2 = /,(.+)/.exec(imageBase2)[1];
            requiredData.Image2 = imageBase2;
        }


        ///Image 3
        var Image3 = document.getElementById("Image3").files;
        if (Image3 && Image3[0]) {
            var FR = new FileReader();
            FR.readAsDataURL(Image3[0]);
            var imageBase3 = FR.result;
            imageBase3 = /,(.+)/.exec(imageBase3)[1];
            requiredData.Image3 = imageBase3;
        }


        ///Image 4
        var Image4 = document.getElementById("Image4").files;
        if (Image4 && Image4[0]) {
            var FR = new FileReader();
            FR.readAsDataURL(Image4[0]);
            var imageBase4 = FR.result;
            imageBase4 = /,(.+)/.exec(imageBase4)[1];
            requiredData.Image4 = imageBase4;
        }    


        requiredData.DiscountPrice = $scope.DiscountPrice;
        VendorService.createUpdateProductDetails(requiredData).then(function (data) {
            $scope.message = data.Message;
            loadProductListForVendor();
            $("#addUpdateProduct").modal("hide");
        }, function (data)
        { data.Message });
    };

0 个答案:

没有答案