Я использую jax-ws на стороне сервера и angularjs на стороне клиента. Я пытаюсь загрузить отправку файла xls со стороны сервера. В стороне сервера я использую этот код:Загрузить файл xls angular jax-rs
@GET
@Path("/exportemployeexls")
@Produces("application/vnd.ms-excel")
@PermitAll
public Response exportAllEmployeeOnXLSFile(){
.......
File employeeFile = new File("C://employee.xls");
ResponseBuilder response = Response.ok((Object) employeeFile);
response.header("Content-Disposition",
"attachment; filename=employeeFile.xls");
return response.build();
}
И у меня есть следующий угловой код, чтобы получить файл отослано на стороне сервера:
Мой HTML-код:
<a href ng-click="actionTsunamiXls()" style="font-size: 80%;">
<img style="max-width:15px;" src="/img/csv.jpg"/>Tsunami Xls
</a>
Мой контролер:
$scope.actionTsunamiXls = function() {
console.info("Export XLS");
NavService.getTsunamiXls(function (response) {
$timeout(function() {
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:attachment/xls,' + encodeURIComponent(response);
hiddenElement.download = 'result.xls';
hiddenElement.click();
}, 200);
});
};
И мой код услуги:
.....
service.getTsunamiXls = function (callback) {
$http.get(url + ':' + port + '/' + context + '/rest-ws/team/exportemployeexls')
.success(function (response) {
callback(response);
});
Проблема заключается в том, когда я нажимаю на кнопку, чтобы Dowload файл XLS я получаю файл .xls, не очень хорошо отформатированный.
varibale реакция имеет неверное значение, как это:
ࡱࡱࡱࡱࡱࡱࡱࡱ ࡱ ࡱ ` "" @ @ ......
Обратите внимание, что когда я использую URL-адрес «http://localhost:8090/myapp/rest-ws/team/exportemployeexls» прямо в браузере, я получаю хорошо сформированный xls.
У кого-нибудь есть идея о том, как продать этот товар и загрузить файл xls с помощью угловых и jax-rs ?? };