Изображения не будут загружаться, если они имеют большой размер

Я храню изображения в БД с помощью MEDIUMBLOB. Когда я пытаюсь загрузить изображение через сервлет, я могу видеть эти изображения. Однако, если размер изображения большой (1 МБ или более), я могу увидеть половину или 3/4 изображения в браузере.

Когда я загружаю одно и то же изображение и размещаю его в общедоступном веб-контенте, оно отлично работает. Есть идеи, как преодолеть эту проблему? Нужно ли устанавливать какие-либо переменные в сервлете или MySQL?

HTML-код (сгенерированный JSF) выглядит следующим образом:

<img src="DisplayImage?mainID=drawing" />

Сервлет изображения выполняет следующие действия:

String imgLen = rs1.getString(1);
int len = imgLen.length();
byte[] rb = new byte[len];
InputStream readImg = rs1.getBinaryStream(1);
InputStream inputStream = readImg;
int index = readImg.read(rb, 0, len);
response.reset();
response.setHeader("Content-Length", String.valueOf(len));
response.setHeader("Content-disposition", "inline;filename=/file.png");
response.setContentType("image/png");
response.getOutputStream().write(rb, 0, len);
response.getOutputStream().flush();
Редактировать 1

Когда я использую приведенный ниже код и сохраняю файл на локальном диске, я вижу полный образ.

String imgLen = rs1.getString(1);
int len = imgLen.length();
rb = new byte[len];
inputStream = rs1.getBinaryStream(1);
while ((read = inputStream.read(rb)) != -1) {
    out.write(rb, 0, read);
}
out.flush();
out.close();
Редактировать 2

При сохранении половины просмотренных изображений я заметил, что размер этихизображения 100 КБ, Мое изображение размером 1 МБ показывает размер 100 КБ. Это происходит со всеми изображениями :(

Я думаю, что это самый большой намек на то, что происходит неправильно. НО я не понимаю, что не так.

Редактировать 3

Если я удалю ниже материал из моегоweb.xmlЯ могу просматривать эти изображения.

<filter>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

Могу ли я удалить их? Я не собираюсь повторять, почему именно я добавил эти ...

Редактировать 4

Мой файл web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            60
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
    <filter>
        <filter-name>restrict</filter-name>
        <filter-class>com.sac.filter.MyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>restrict</filter-name>
        <url-pattern>*.xhtml</url-pattern>
    </filter-mapping>
    <filter>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>

    <servlet>
        <servlet-name>DisplayImage</servlet-name>
        <servlet-class>com.sac.databean.DisplayImage</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DisplayImage</servlet-name>
        <url-pattern>/DisplayImage</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>SaveMyImage</servlet-name>
        <servlet-class>com.sac.databean.SaveMyImage</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SaveMyImage</servlet-name>
        <url-pattern>/SaveMyImage</url-pattern>
    </servlet-mapping>
</web-app>

Ответы на вопрос(1)

Ваш ответ на вопрос