In order to avoid the temporary file in the server, edraw office viewer component provided a httpopenfilefromstream method to open the office document from file stream directly. It works in the JSP environment.
For example:
Getfile.jsp example code:
String downloadDirName = request.getSession().getServletContext().getRealPath(DOWNLOAD_RELATIVE_PATH);
String downloadFileName = downloadDirName + “/” + fileMap.get(PARAM_DOCUMENT_ID).getString();
File downloadFile = new File(downloadFileName);
if (downloadFile.exists()) {
byte[] buffer = new byte[4096];
BufferedOutputStream output = null;
BufferedInputStream input = null;
try {
output = new BufferedOutputStream(response.getOutputStream());
input = new BufferedInputStream(new FileInputStream(downloadFileName));
output.write(“EDA_STREAMBOUNDARY”.getBytes());
int n = -1;
while ((n = input.read(buffer, 0, buffer.length)) > -1) {
output.write(buffer, 0, n);
}
output.write(“EDA_STREAMBOUNDARY”.getBytes());
output.flush();
} catch(Exception e) {
e.printStackTrace();
} finally {
if (output != null) output.close();
if (input != null) input.close();
}
}
else {
System.out.println(“[OfficeViewer Error] 404 File not found!”);
System.out.println(fileItemList.toString());
}
Open example code:
$(“OA1”).HttpInit();
$(“OA1”).HttpAddpostString(“DocumentID”, “sample.doc”);
$(“OA1”).HttpOpenFileFromStream(“http://192.168.1.1:8020/path/getfile.jsp“);
Leave a Reply
You must be logged in to post a comment.
Recent Comments