POM
, vous pouvez à nouveau télécharger le code sourceC'est l'adresse du projet du robot que j'ai écrit
Le projet ne signale pas d'erreur, mais le problème est qu'après avoir téléchargé l'image dans la zone locale, l'image est souvent incomplète, comme suit :
Voici le code de base pour télécharger des images, comme suit :
@Override
public void run() {
Response res = null;
try {
res = Jsoup.connect(src).ignoreContentType(true).timeout(30000).execute();
byte[] bytes = res.bodyAsBytes();
File file = new File(path + name);
if (!file.exists()) {
RandomAccessFile raf = new RandomAccessFile(file, "rw");
raf.write(bytes);
raf.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}
}
Après enquête sur les données, j'estime qu'il s'agit d'un problème avec la demande de périmètre Range
ou d'un problème que je n'ai pas trouvé ? J'espère que vous pourrez y jeter un œil, merci
Il semble que les données de réponse ne soient pas complètes. Vous pouvez les déboguer pour voir s'il y a un écart entre la taille réelle des données de la réponse et la taille des données que vous avez enregistrée.
Ou peut-être parce qu'il y a encore des données dans le tampon et qu'il n'y a pas de temps pour écrire dans le fichier, le processus se termine à ce moment-là, ce qui entraîne des données incomplètes. Effectuez une opération de vidage avant de fermer le flux du fichier.