2017-06-01 34 views
0

我正嘗試使用POST方法和REST調用服務器來上傳單個文件。使用下面的代碼,我可以上傳模塊,但它會顯示我上傳後出現的一些錯誤。有人可以幫我解決這個問題嗎?無法通過Angular文件上傳來捕獲響應

我的HTML代碼:

<form name="myForm" enctype="multipart/form-data" > 
     <input type="file" ngf-select ng-model="picFile" name="file" file="file"  
      accept="" ngf-max-size="2MB" required 
      ngf-model-invalid="errorFile"> 
     <button ng-disabled="!myForm.$valid" 
       ng-click="uploadPic(picFile)">Submit</button> 
    </form> 

我的JS代碼:

var app = angular.module('fileUpload', ['ngFileUpload']); 
app.controller('MyCtrl', ['$scope', 'Upload','fileUpload', function ($scope, Upload,fileUpload) { 
    $scope.uploadPic = function(file) { 
     fileUpload.uploadFileToUrl(file); 
    } 
}]); 

app.service('fileUpload', ['$http','Upload', function ($http,Upload) { 
    this.uploadFileToUrl = function(file){ 
    file.upload = Upload.upload({ 
     url: 'http://localhost:8080/openmrs/ws/rest/v1/module/?', 
     headers: {'Content-Type': 'multipart/form-data;boundary=gc0p4Jq0M2Yt08jU534c0p'}, 
     transformRequest: angular.identity, 
     data: {file: file} 
    }); 
    file.upload.then(function (response) { 
      }, function (response) { 
       if (response.status > 0) 
      }, function (evt) { 
      }); 
    } 
}]); 

錯誤消息:

org.springframework.http.converter.HttpMes sageNotWritableException: 無法寫入JSON:類加載器爲空模塊: openhmis.inventory(通過參考鏈: org.openmrs.module.Module [「moduleActivator」]);嵌套的異常是 org.codehaus.jackson.map.JsonMappingException:類裝入器爲空 模塊:

回答

0

該錯誤消息顯示,如「無法寫入JSON」。這意味着它無法將JSON類型的響應寫入請求。 請檢查您的響應類型並確認它是否是JSON類型。

有很多響應類型的,即是

  1. text/html的
  2. 應用/ XHTML + xml的
  3. 應用/ XML; Q = 0.9
  4. 圖像/ WEBP,/; q = 0.8

更好地改變你的頭像,接受狀態如下,

headers: {'Content-Type': undefined , 'Accept': 'application/xhtml+xml;charset=UTF-8'} 

它正在工作....