Загрузить изображения на сервер - PullRequest
3 голосов
/ 30 декабря 2010

У меня есть несколько изображений, которые я хочу загрузить на свой сервер. Клиентская часть написана на Java, и я сделаю HTTP Post запрос для загрузки изображений. Нужно ли писать код на стороне сервера для обработки HTTP-запроса? Если так, где я могу найти некоторые примеры? Сервер поддерживает PHP и Tomcat.

1 Ответ

1 голос
/ 30 декабря 2010

Это очень просто реализовать в Java.Вы должны реализовать HTTP-сервлет, который переопределяет метод doPost (), который читает из входного потока, полученного из HTTP-запроса, и записывает в выходной поток файла.

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    InputStream in = req.getInputStream();
    OutputStream out = new FileOutputStream("myfile.jpg");
    IOUtils.copy(in, out);
    out.flush();
    out.close();
}

IOUtils - это утилита calss из общих ресурсов Джакарты.Если вы не хотите включать эту библиотеку в путь к классу, вот исходный код метода copy():

protected static long copy(InputStream input, OutputStream output)
        throws IOException {
    byte[] buffer = new byte[4096]; 
    long count = 0L;
    int n = 0;
    while (-1 != (n = input.read(buffer))) {
        output.write(buffer, 0, n);
        count += n;
    }
    return count;
}
...