J'ai peu d'expérience dans les portables et java.
Mais es-tu sûr de ton content-type? J'aurais mis
response.setContentType("application/java");
ou application/java-archive, application/x-java-archive.
Il faudrait examiner l'entête "Accept" envoyé par le portable pour savoir ce qu'il accepte comme MIME-Type.
Il me semble que le Content-Disposition est superflu.
EN plus le code d'envoi n'est pas optimisé.
code pas compilé
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
|
final String filename = request.getParameter("file");
final String filepath = request.getParameter("folder");
java.io.FileInputStream fileInputStream = null;
final OutputStream out2 = null;
try
{
// fetch the file
response.setContentType("application/java");
fileInputStream = new java.io.FileInputStream(filepath + filename);
// Pas besoin d'un buffer, response.getOutputStream() a déjà un buffer
out2 = response.getOutputStream() );
final int bufferSize = 16*1024;
final byte[] buffer = new byte[bufferSize];
int read;
while ((read=fileInputStream.read(buffer, 0, bufferSize )) != -1) {
out2.write(buffer, 0, read);
}
fileInputStream.close();
out2.close();
}
catch(Exception e){
// Toujours traiter une exception
System.err.println(e);
}
finally {
if (out2 != null) {
closeStream(out2);
out2 = null;
}
if (fileInputStream != null) {
closeStream(fileInputStream );
fileInputStream := null;
}
}
} |
Partager