2017-03-15 4 views
0

Je télécharge des fichiers en utilisant Apache IOUtils. Pour reprendre le téléchargement, je suis en utilisant le code suivant:Apache IOUtils.copyLarge

IOUtils.copyLarge(input,output,localFileSize,fileLengthOnServer - localFileSize); 

Le problème est lorsque vous cliquez sur le bouton reprendre le téléchargement ne reprend pas, mais commence à partir de début que je suppose, parce que je vois qu'il n'y a pas de progrès dans le dossier taille pour un certain temps (basé sur la taille déjà téléchargée).

Toute aide s'il vous plaît.

Répondre

1

Il ne sait pas que vous lisez depuis un serveur HTTP. Tout est a est un flux d'entrée, et tout ce qu'il peut faire avec c'est passer à l'offset que vous spécifiez. Si vous voulez que le serveur fasse cela, vous devez regarder l'en-tête HTTP Range: vous-même.

+0

Si je lis le fichier manuellement, je peux définir setRequestProperty ("Range", "bytes =" + localFileSize + "-"); mais ne savez pas comment faire cela avec Apache Commons! – Shoaib

+0

Vous ne pouvez pas le faire avec Apache Commons. Apache Commons parle 'InputStream', pas HTTP. Vous devez le faire vous-même. Ce qui est exactement ce que ma réponse dit déjà. – EJP