Mon application distribue des fichiers et recueille des statistiques. Il ya quelque temps, j'ai remarqué que si l'utilisateur essaie de télécharger le fichier à partir d'Android - serveur a reçu deux demandes à la place un. La première demande a échoué en raison de Caused by: java.net.SocketException: Connection reset by peer: socket write error
La deuxième demande a été traitée correctement et l'utilisateur a reçu le fichier sur le téléphone. Donc c'est plus ou moins ok mais dans ce cas mes statistiques sont incorrectes. Je voyais question similaire sur [l'autre thread] [1]Problème de navigateur Android. Télécharger fait deux demandes à la place un
[1]: https://stackoverflow.com/a/8579181/273418 mais il n'y a pas de solution
Code de servlet qui distribue les fichiers
try {
StringBuilder typeHeader = new StringBuilder("application/vnd.android.package-archive");
String contentType = FdConstants.CONTENT_TYPE_HEADER.getValue();
response.setHeader(contentType, typeHeader.toString());
StringBuilder dispositionHeader = new StringBuilder("attachment; filename=\"");
dispositionHeader.append(fileName.toUpperCase());
dispositionHeader.append("\"");
String contentDisposition = FdConstants.CONTENT_DISPOSITION_HEADER.getValue();
response.setHeader(contentDisposition, dispositionHeader.toString());
response.setContentLength(fileStream.available());
// copy it to response's OutputStream
IOUtils.copy(fileStream, response.getOutputStream());
response.flushBuffer();
} finally {
IOUtils.closeQuietly(fileStream);
}
Comment téléchargez-vous le fichier? S'il vous plaît ajouter du code. – RvdK
par url dans le navigateur – Diyko
Pourquoi parlez-vous alors de 'votre' application? L'avez-vous essayé dans une application personnalisée avec WebView, navigateur différent sur Android (dolphin/chrome), navigateur sur TV? – RvdK