Salut à tous,
J'ai créé un web service en java qui permet d'uploader une vidéo et j'ai ajouté une méthode qui permet d'uploader uniquement des fichiers de type vidéo grâce au mime type. Si le web service reçoit un fichier d'un autre type que vidéo, cela renvoi une erreur.
Mais j'ai un problème dans ma fonction qui gère les mime type. Lorsque j'upload une vidéo sans utiliser ma fonction, l'upload se passe correctement. En revanche, lorsque je l'utilise, le fichier vidéo uploadé est illisible. Il manque 1KO sur la vidéo uploadé par rapport à celle de base.
Voici comment j'ai procédé pour réaliser ma fonction mime type :
Je n'arrive pas a voir d'où vient l'erreur.
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 private Boolean acceptFile(InputStream is, String fileName) throws IOException { try { // List of mime type video ArrayList<String> mimetypes = new ArrayList<String>(); mimetypes.add("video/mpeg"); mimetypes.add("video/mp4"); mimetypes.add("video/quicktime"); mimetypes.add("video/x-ms-wmv"); mimetypes.add("video/x-msvideo"); mimetypes.add("video/x-flv"); ContentHandler contenthandler = new BodyContentHandler(); Metadata metadata = new Metadata(); metadata.set(Metadata.RESOURCE_NAME_KEY, fileName); Parser parser = new AutoDetectParser(); parser.parse(is, contenthandler, metadata); for (String mt : mimetypes) { if (mt.equals(metadata.get(Metadata.CONTENT_TYPE))) { return true; } } } catch (Exception e) { e.printStackTrace(); } return false; }
Avez vous une idée ? Merci d'avance.
Partager