Newer
Older
package code;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.imageio.ImageIO;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
public class ImageRes implements HttpHandler {
@Override
public void handle(HttpExchange exchange) throws IOException {
String requestURI = exchange.getRequestURI().toASCIIString().replace("/secured/home/", "/");
String requestMethod = exchange.getRequestMethod();
if (Helper.compareText(requestMethod, "GET")) {
if (image == null)
Helper.pageNotFound(exchange);
List<String> strlist = new ArrayList<>();
strlist.add("image/png");
OutputStream os = exchange.getResponseBody();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
baos.flush();
byte[] imageInByte = baos.toByteArray();
exchange.getResponseHeaders().put("content-type", strlist);
exchange.sendResponseHeaders(200, imageInByte.length);
os.write(imageInByte);
os.close();
} else {
Helper.methodNotAllowed(exchange);
}
}
private BufferedImage getLocalImage(String uri) {
String page = Server.CLIENT_PATH + uri;
try {
File f = new File(page);
BufferedImage image = ImageIO.read(f);
return image;
} catch (IOException e) {
System.out.println("Error reading file '" + page + "'");
return null;
}
}
}