Der Anwendungsfall besteht darin, den Dateiinhalt vom Server abzurufen und ihn über den Knoten JS an den Browser zu senden.Wie Servlet Antwort Ausgabe Stream in Node JS lesen?
Details:
eine Datei lesen (PDF, Bilddateien) in Java (Endpunkt wird mit Federrahmen ausgesetzt)
@RequestMapping(value = "/getFileContent", method = RequestMethod.GET)
public void getFileContent(HttpServletResponse response) throws IOException {
try {
File file = new File("src/main/resources/SampleDoc.pdf");
InputStream targetStream = new FileInputStream(file);
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "inline; filename="+"sample.pdf");
IOUtils.copy(targetStream, response.getOutputStream());
} catch (Exception e) {
LOG.error("Document Download Error", e.getMessage());
}
}
den Strom holen und es in pdf-Datei und Anzeige umwandeln das gleiche im Browser:
router.get('/openfile', function(req, res, next) {
console.log("get call");
request('http://localhost:8080/getFileContent', function (error, response, body) {
if (!error && response.statusCode == 200) {
var file= fs.createReadStream(response.body);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'inline; filename=sample.pdf');
file.pipe(res);
}
})
});
der obige Code führt eine Fehlermeldung, „Pfad ein String ohne null-Bytes sein muss“.
Bitte schlagen Sie ein Knotenmodul vor, um den Servlet-Antwort-Ausgabestream von Java zu empfangen und öffnen Sie die Datei im Browser.
oder einen Objekttyp vorschlagen, der vom Server gesendet werden kann, damit ich ihn in eine Bild/PDF-Datei im Knoten konvertieren kann.