前端根据HttpServletResponse在线显示文件
时间: 2023-10-16 09:13:56 浏览: 131
前端无法直接访问服务器上的文件系统,所以需要通过后端将文件内容以响应体的形式返回给前端。在Java中,可以使用HttpServletResponse对象的OutputStream将文件内容写入响应体中,前端再通过ajax或者iframe等方式请求该接口,即可在线显示文件。
以下是一个简单的Java Servlet示例代码,将服务器上的图片文件以流的方式输出到响应体中:
```java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String filePath = "/path/to/image.jpg"; // 文件路径
File file = new File(filePath);
if (!file.exists()) {
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
return;
}
FileInputStream input = new FileInputStream(file);
OutputStream output = response.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = input.read(buffer)) != -1) {
output.write(buffer, 0, len);
}
input.close();
output.flush();
}
```
在前端中,可以使用img标签或者其他方式展示文件内容,例如:
```html
<img src="/servlet/DisplayFileServlet">
```
其中,/servlet/DisplayFileServlet是后端提供的响应文件内容的接口路径。
阅读全文