проблема загрузки изображения с ie7 - PullRequest
0 голосов
/ 04 июля 2011

я загружаю изображение из простой HTML-формы

 <form action="../OctetStreamReader" method="post"  accept="image/gif, image/jpeg">
 Your image: <input type="file" name="pic" id="pic" /><br />
 <input type="submit" value="Submit" />
 </form>

и внутри OctetStreamReader я копирую изображение на сервер с помощью IOUtils

realPath = getServletContext().getRealPath(DESTINATION_DIR_PATH) + "/";
    PrintWriter writer = null;
    InputStream is = null;
    FileOutputStream fos = null;

    try {
        writer = response.getWriter();
    } catch (IOException ex) {
        log(OctetStreamReader.class.getName() + "has thrown an exception: "
                + ex.getMessage());
    }

    if (canInsert) {
        // String filename = request.getHeader("X-File-Name");
        String filename = utils.createFileName(ssn, userEmail, userId);
        try {
            ImageCompressor ic= new ImageCompressor();

            is = request.getInputStream();
            fos = new FileOutputStream(new File(realPath + filename));
            logger.info("avalible bytes :" + is.available());
            IOUtils.copy(is, fos);
            logger.info("inserting copied");

код работает абсолютно нормально во всехбраузеры кроме IE и особенно IE7.В случае IE7 новый файл создается на сервере, но с размером файла 0 КБ.и в случае других браузеров, таких как Chrome, FF, Safari, создается новый файл с фактическим размером загруженного изображения.Я не могу отследить проблему, так как код не выдает никаких исключений.

Пожалуйста, помогите ..

Спасибо!

Ответы [ 2 ]

2 голосов
/ 04 июля 2011

Вы должны добавить атрибут enctype="multipart/form-data" к элементу формы.

0 голосов
/ 05 июля 2011

Я пытался использовать Apache Commons File Upload, и он работал отлично

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...