Bonjour

J'essaie à partir de mon formulaire de récupérer une image et de l'insérer dans ma Base de données Mysql. Tout marche bien sauf que lors de l'insertion de certaines images, j'ai le message suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
févr. 18, 2015 12:53:15 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: "Servlet.service()" pour la servlet AjouterPhoto a généré une exception
eu.medsea.mimeutil.MimeException: InputStream must support the mark() and reset() methods.
    at eu.medsea.mimeutil.MimeUtil2.getMimeTypes(MimeUtil2.java:495)
    at eu.medsea.mimeutil.MimeUtil2.getMimeTypes(MimeUtil2.java:472)
    at eu.medsea.mimeutil.MimeUtil.getMimeTypes(MimeUtil.java:313)
    at forms.AjouterPhotoForm.validationPhoto(AjouterPhotoForm.java:117)
    at forms.AjouterPhotoForm.traiterPhoto(AjouterPhotoForm.java:78)
    at forms.AjouterPhotoForm.creerCandidat(AjouterPhotoForm.java:54)
    at servlets.AjouterPhoto.doPost(AjouterPhoto.java:50)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at filters.PrechargementFilter.doFilter(PrechargementFilter.java:66)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Voici par exemple les caractéristiques d'un fichier qui met génère cette erreur:

Type du fichier: Image JPEG (.JPG)

Taille: 1,91 Mo (2 006 415 octets)

Sur disque: 1,91 Mo (2 007 040 octets)

Pourtant j'ai essayé d'insérer un autre fichier de 5 Mo , et j'ai eu le message qui me dit: Le fichier envoyé ne doit pas dépasser 2Mo.

Donc je ne comprends pas pourquoi certains fichiers me renvoient des messages d'erreurs.

Voici mon fichier xml:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?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">
 
<servlet>
        <servlet-name>Image</servlet-name>
        <servlet-class>servlets.Image</servlet-class>
        <init-param>
            <param-name>chemin</param-name>
            <param-value>/fichiers/images/</param-value>
        </init-param>
    </servlet>
 
<servlet>
        <servlet-name>AjouterPhoto</servlet-name>
        <servlet-class>servlets.AjouterPhoto</servlet-class>
        <init-param>
            <param-name>chemin</param-name>
            <param-value>/fichiers/images/</param-value>
        </init-param>
        <multipart-config>
            <location>c:/fichiers/images</location>
            <max-file-size>2097152</max-file-size>
            <!-- 2 Mo -->
            <max-request-size>10485760</max-request-size>
            <!-- 5 x 2Mo -->
            <file-size-threshold>1048576</file-size-threshold>
            <!-- 1 Mo -->
        </multipart-config>
    </servlet>
 
<servlet-mapping>
        <servlet-name>Image</servlet-name>
        <url-pattern>/images/*</url-pattern>
    </servlet-mapping>
 
 <servlet-mapping>
        <servlet-name>AjouterPhoto</servlet-name>
        <url-pattern>/ajouterPhoto</url-pattern>
    </servlet-mapping>
 
</web-app>
Merci