У меня есть сервер Jersey REST для ответа PDF (application / pdf) на React.Я хочу преобразовать PDF в base64 на стороне клиента, а затем отобразить в новом окне.Тем не менее, pdf потеряет содержимое после преобразования с помощью FileReader. (Например: FileReader теряет данные при чтении PDF )
Код сервера Джерси:
@Override
@GET
@Path("/pdf")
@Produces(MediaType.APPLICATION_PDF_VALUE)
public Response testPdf() throws Exception {
// TODO Auto-generated method stub
File file = new File("C:\\test.pdf");
FileInputStream fileInputStream = new FileInputStream(file);
ResponseBuilder response = Response.ok((Object) fileInputStream);
response.type("application/pdf");
response.header("Content-Disposition", "filename=test.pdf");
return response.build();
}
React clientсторона:
axios.get(/test/pdf).then((response) => {
let reader = new FileReader();
var file = new Blob([response.data], { type: 'application/pdf' });
reader.onloadend = () => {
// that.setState({
let pdfWindow = window.open("")
pdfWindow.document.write("<iframe width='100%' height='100%' src='" +reader.result+"'></iframe>")
}
reader.readAsDataURL(file);
})
Кто-нибудь может помочь мне конвертировать PDF в base64 в React?
спасибо