0

Это моя запись, чтобы преуспеть метод, который возвращает javax.ws.rs.core.ResponseHTTP 204 Ошибка при отправке файла в ответ REST

public Response writeToExcel(UserDeatilsVOWrapper listBook) { 
    XSSFWorkbook workbook = new XSSFWorkbook(); 
    XSSFSheet spreadsheet = workbook.createSheet("Resource Information"); 

    int rowCount = 0; 
    createHeaderRow(spreadsheet); 
    for (UserDetailsVO detailsVO : listBook.getUserDetailsList()) { 
     Row row = spreadsheet.createRow(++rowCount); 
     writeBook(detailsVO, row); 
    } 
    Response response = null; 

    try (FileOutputStream outputStream = new FileOutputStream(new File("ResourceInformation.xlsx"))) { 
     workbook.write(outputStream); 

     // header required to enable download pop-up and set file name 
     Response.ok().header("Content-Disposition", "attachment; filename=" + "ResourceInformation.xlsx").build(); 
    } 

    catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return response; 
} 

Это мой веб-сервис:

@POST 
    @Path(WebServiceConstants.DOWNLOAD_EXCEL) 
    @Consumes(MediaType.APPLICATION_JSON) 
    public Response getFile(UserDeatilsVOWrapper wrapper) { 
    Response respose=new ExportToExcel().writeToExcel(wrapper); 
    return respose;} 

Я получаю ошибку HTTP204. Я использую почтальон. Я знаю, я делаю большую ошибку при написании метода excel и при попытке отправить файл вместе с ответом. Также есть ли способ записи файлового объекта в ответ REST без сохранения файла на сервере? Я здесь ужасно. любая помощь приветствуется.

ответ

0

Я не вижу, где вы задали свой файл для ответа. Обычно вы делали бы что-то вроде этого

File file = new File("ResourceInformation.xlsx")) 

// Do your excel-writing here... 

ResponseBuilder response = Response.ok((Object) file); 
response.header("Content-Disposition", "attachment; filename=" + "ResourceInformation.xlsx"); 
return response.build(); 
+0

Спасибо большое, приятель, вы - saviour.I знал, я сделал ошибку. – Kid101

+0

Добро пожаловать. :-) – Frank

Смежные вопросы