Как отправить данные изображения с другими данными в бэкэнд Java с постом http в JS - PullRequest
0 голосов
/ 02 ноября 2019

IAM пытается разработать автономное приложение PWA. У меня есть данные блоба изображения, которые я хочу отправить в бэкэнд Java.

function callAjax(data){
         $http({
             method: 'POST',
             url: "./WQF00069/update.app",
             cache:false,
             async:false,
             params:data,
             data: {} ,
             contentType: "application/json; charset=utf-8",
             dataType: "json",
            }).success(function(data) {
                Flash.create('info', ' Update Success Fully ', 'large-text');
      }).error(function(response){ 
                 console.dir(response);
                 Flash.create('danger','There is a  Problem.Contact With Administrator', 'large-text');

         });
    }

После отправки данных изображения в параметрах в бэкэнд Java не получаются данные. Пожалуйста, помогите

Ответы [ 3 ]

0 голосов
/ 04 ноября 2019

Я отправляю данные этого изображения через ajax на сервер. Я также конвертирую его в кодировку base 64. Но все еще проблема. Я думаю, что большие данные не могут отправить через ajax. Вот мой полный код

//***After click on upload button******************// 
     vm.upload= function(state_cd,dist_cd,blk_cd,pan_cd,src_typ_cd,src_cd,src_nm,m_lat_val_degree,m_long_val_degree,src_img,imageContent){
        var imageall=null;
        var fd=null;
         var blob=null;
         var url=null;
//***************imageContent blob content from indexd db  and transfer in image *******************************************************************//
         getImageUrlFromBlob(imageContent).then(function (result) {
             imageall = result.replace(/data:;base64,/, 'data:image/gif;base64,');
             //var block = imageall.split(";");
            // var realData = block[1].split(",")[1];
            // blob = b64toBlob(realData,"image/gif");
            // var reader = new FileReader();
            // reader.readAsText(blob);
             //var image= reader.result;
            var data={'mst.stateCd':state_cd,'mst.distCd':dist_cd,'mst.blkCd':blk_cd,'mst.panCd':pan_cd,'mst.userId':$rootScope.userId,'mst.srcTypCd':src_typ_cd,'mst.srcCd':src_cd,'mst.srcNm':src_nm,'mst.mLatValDegree':m_lat_val_degree,'mst.mLongValDegree':m_long_val_degree,'mst.srcImg':src_img,'mst.imageContent':imageall};


          callAjax(data);// send image data to backend throgh ajax 
         });
     }
//************************Ajax call*****************************************************//
    function callAjax(data){
         $http({
             method: 'POST',
             url: "./WQF00069/update.app",
             cache:false,
             async:false,
             params:data,
             data: {} ,
             contentType: "application/json; charset=utf-8",
             dataType: "json",
            }).success(function(data) {
                Flash.create('info', ' Update Success Fully ', 'large-text');
      }).error(function(response){ 
                 console.dir(response);
                 Flash.create('danger','There is a  Problem.Contact With Administrator', 'large-text');

         });
    }
0 голосов
/ 04 ноября 2019
$("form[name='uploader']").submit(function(e) {
  var formData = new FormData($(this)[0]);

  $.ajax({
    url: "page.jsp",
    type: "POST",
    data: formData,
    success: function (msg) {
      alert(msg)
    },
    cache: false,
    contentType: false,
    processData: false
  });

  e.preventDefault();
});

следуйте этому Как отправить изображение в файл PHP с помощью Ajax?

0 голосов
/ 02 ноября 2019

Преобразуйте ваше изображение в текстовые кодировки (лично я бы использовал base64) и отправьте его с запросом POST в бэкэнд Java API.

...