Ik heb het volgende stukje code gemaakt. Met dit stukje code kunnen plaatjes worden weergegeven door een servlet. Het probleem ligt nu in als ik naar de servlet verwijs in een html file dan laat in firefox het plaatje wel, maar in internet explorer niet.
Van google werd ik ook niet veel wijzer maar ik heb het gevoel dat dit een header setting is.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ShowPicture extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext sc = getServletContext();
String filepath = "/var/www/java/";
String filename = request.getRequestURI();
String[] filesplit = filename.split("/");
int slength = filesplit.length;
String filet = filepath + filesplit[slength -1];
// Get the MIME type of the image
String mimeType = sc.getMimeType(filet);
if (mimeType == null) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
// Set content type
response.setContentType(mimeType);
// Set content size
File file = new File(filet);
response.setContentLength((int)file.length());
// Open the file and output streams
FileInputStream in = new FileInputStream(file);
OutputStream out = response.getOutputStream();
// Copy the contents of the file to the output stream
byte[] buf = new byte[1024];
int count = 0;
while ((count = in.read(buf)) >= 0) {
out.write(buf, 0, count);
}
in.close();
out.close();
}
} |
Van google werd ik ook niet veel wijzer maar ik heb het gevoel dat dit een header setting is.