Javascript 从java spring方法管理http.get响应
我必须管理来自JavaSpringGet请求的http get响应。 从服务器下载的文件是一个zip文件(其中包含.pdf和.png)。 这是java代码:Javascript 从java spring方法管理http.get响应,javascript,angularjs,spring,spring-mvc,get,Javascript,Angularjs,Spring,Spring Mvc,Get,我必须管理来自JavaSpringGet请求的http get响应。 从服务器下载的文件是一个zip文件(其中包含.pdf和.png)。 这是java代码: @RequestMapping(value="/data/{meetingId}", method = RequestMethod.GET) public byte[] getMeetingRest(@PathVariable(value="meetingId") String meetingId) { byte[] file =
@RequestMapping(value="/data/{meetingId}", method = RequestMethod.GET)
public byte[] getMeetingRest(@PathVariable(value="meetingId") String meetingId) {
byte[] file = new byte[1024];
Buffer buf =null;
try {
String url = getContentServer()+"/data?username="+getUsername()+"&password="+getPassword()+"&id="+meetingId;
RestTemplate templ = new RestTemplate();
file = templ.getForObject(url, byte[].class);
} catch (Exception e) {
String msg = "Error retrieving meeting list";
logger.error(msg, e);
}
logger.info("file zip --> "+file.length);
return file;
}
这是agular http.get:
appControllers.controller('FolderListController', ['$scope', '$routeParams', '$http', '$timeout', '$q', 'global',
function($scope, $routeParams, $http, $timeout, $q, global){
console.log("FolderListController");
var meetingId = $routeParams.meetingId;
$http.get(CONTEXT_PATH+"/services/data/"+meetingId, {responseType: 'arraybuffer'})
.success(function(data){
console.log(data.length);
console.log(data);
})
.error(function(e){
console.log("Errore chiamate rest data zip e = "+e);
});
//visualizzo i corretti items.
for(var i=0;i<global.meetings.length;i++){
console.log("meetingList["+i+"] = "+global.meetings[i]);
if(global.meetings[i].id == meetingId){
console.log("trovato id : id="+global.meetings[i].id+" -- meetingId = "+meetingId);
$scope.items = global.meetings[i];
break;
}
}
}]);
appControllers.controller('FolderListController'、['$scope'、'$routeParams'、'$http'、'$timeout'、'$q'、'global'、,
函数($scope、$routeParams、$http、$timeout、$q、global){
log(“FolderListController”);
var meetingId=$routeParams.meetingId;
$http.get(CONTEXT_PATH+“/services/data/”+meetingId,{responseType:'arraybuffer'})
.成功(功能(数据){
console.log(data.length);
控制台日志(数据);
})
.错误(函数(e){
log(“Errore chimate rest data zip e=“+e”);
});
//可视化ZO i corretti项目。
对于(var i=0;i尝试添加@ResponseBody
注释或将@Controller注释替换为@RestController
@Controller
....
@RequestMapping(value="/data/{meetingId}", method = RequestMethod.GET)
public @ResponseBody byte[] getMeetingRest(@PathVariable String meetingId) {
...
}
或:
尝试添加@ResponseBody
注释或将@Controller注释替换为@RestController
@Controller
....
@RequestMapping(value="/data/{meetingId}", method = RequestMethod.GET)
public @ResponseBody byte[] getMeetingRest(@PathVariable String meetingId) {
...
}
或:
不确定错误,但我认为您的spring控制器中应该有@ResponseBody,我看不到..不确定错误,但我认为您的spring控制器中应该有@ResponseBody,我看不到。。