Ich möchte das PDF (als BLOB gespeichert) aus der Datenbank mit Trikot api Ich verwende mybatis als Datenbank Framework. Ich bin in der Lage, die pdf herunterladen, aber das Problem ist, ich bekomme den Eingabestream als Datenbank, die ich es als Datei speichern und dann übergeben, dass es in Response, aber ich möchte diese Datei nicht im Server speichern, ich will Datei direkt zum Benutzer heruntergeladen werden.Laden Sie die Datei aus der Datenbank, ohne sie auf dem Server zu speichern
Aktuelle Prozess:
DATABASE -------> Eingabestrom -----> Datei -----------> zur Antwort hinzufügen ----- > Benutzer herunterlädt
retrieving making file passing file user downloads
, was ich will:
DATABASE ----------> Eingabestrom ------------> in den Antwort -------> Benutzer lädt es herunter
retrieving passing file user downloads
Ich möchte Datei entfernen in Server als Daten machen, ist vertraulich
Ressourcen Schnittstelle
@GET
@Path("v1/download/{id}")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response downloadFile(@PathParam("id") int id) throws IOException, SQLException;
Ressourcen Impl
@Override
public Response downloadFile(int id) throws IOException, SQLException {
// TODO Auto-generated method stub
File file = fileUploadService.downloadFile(id);
ResponseBuilder response = Response.ok(file);
response.header("Content-Disposition", "attachment;filename=aman.pdf");
return response.build();
}
Service-Methode
@Override
public File downloadFile(int id) throws IOException {
// TODO Auto-generated method stub
File fil=new File("src/main/resources/Sample.pdf");
FileUploadModel fm =mapper.downloadFile(id);
InputStream inputStream = fm.getDaFile();
outputStream = new FileOutputStream(fil);
int read = 0;
byte[] bytes = new byte[102400000];
while ((read = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
return fil;
}
Diese c ode funktioniert, aber ich möchte das Erstellen von Datei auf der Serverseite, d. h. ich möchte Datei fil = neue Datei entfernen ("src/main/resources/Sample.pdf"), diese Operation, die in Service-Methode ist.
Vielen Dank im Voraus.
Es funktioniert. Danke vielmals . – Aman