Il y a quelques jours, ma sœur m'a soudainement dit qu'elle avait acheté un livre électronique sur JD. Après l'avoir acheté, elle a découvert qu'elle ne pouvait le lire qu'en ligne ou utiliser son propre lecteur. C'était très gênant, alors je m'a demandé de penser à une solution.
J'ai commencé à y penser. Au début, j'ai directement utilisé Acrobat Reader pour l'ouvrir et j'ai constaté qu'il n'y avait que des répertoires, rien d'autre et les pages étaient toutes présentes. J'ai pensé qu'un masque pouvait être ajouté au contenu correct. Les personnes qui ne peuvent utiliser que la "clé" peuvent la filtrer. Pour casser les éditeurs des autres, cela ne fonctionnera certainement pas en peu de temps. De nombreuses personnes sur Internet ont également pensé à utiliser des scripts automatisés pour prendre automatiquement des captures d'écran des lecteurs officiels, mais j'ai constaté que les captures d'écran ne sont pas page par page, ce qui est très confus. Enfin, je ne peux trouver qu'un moyen en lisant cette ligne en ligne.
Cette méthode est similaire à celle des internautes. Il est enregistré comme une image et comment en faire un PDF via l'outil PDF.
J'ai été surpris de constater que le document est vraiment bon, avec une image par page, cela a été fait pour vous, mais seules les premières et dernières photos de la page actuelle seront mises à jour à la fois, et les autres seront effacées. À ce stade, il existe une façon de penser:
Les étapes 1 à 3 doivent être répétées et peuvent être implémentées à l'aide d'outils et de scripts automatisés.
Étape 4 Écrivez simplement un contrôleur, juste l'interface Java la plus simple.
Étape 5: Le service direct en ligne peut être obtenu.
Pourquoi devons-nous d'abord mettre en cache le téléchargement? Cela implique un problème d'efficacité, de déduplication et de filtrage de l'image, car les images obtenues après chaque ajustement peuvent être dupliquées, et la reduplication sera automatiquement dédupliquée; Il s'agit également d'éviter des problèmes tels que la sortie anormale au milieu du téléchargement tout en obtenant le chemin d'image et d'autres tâches qui ne peuvent pas être exécutées normalement. Ensuite, le script obtient le chemin et l'enregistre sur votre propre serveur. Le seul problème peut être le problème du domaine croisé. En conséquence, j'ai constaté qu'il manquait encore quelques images, ce qui m'a fait réaliser les avantages de l'utilisation du cache. Je peux directement vérifier que ces images manquaient via le code sans vérifier le fichier JPG, le nombre de fichiers avec moins de chiffres, et finalement terminé manuellement.
Le seul défaut dans les images obtenues de cette manière est qu'ils ont les mots «lecture JD» et la résolution d'image n'est pas très élevée, et la police semble avoir du fourrure. Si vous souffrez d'un trouble obsessionnel-compulsif ou poursuivez-vous, utilisez le lecteur officiel. Je l'ai personnellement lu clairement, c'est un document, pas une image! ! !
Ce qui suit est le code pour enregistrer les données réseau dans la zone locale via l'URL.
classe publique httpurlConnectionUtil {// Data Stream pour obtenir les données de réponse du lecteur via GET DEMAND PUBLIC STATIQUE STATIQUE GetInputStreAmbyGet (URL de chaîne) {try {httpurlConnection Conn = (httpurlConnection) new URL (URL) .OpenConnection (); Conn.SetReadTimeout (5000); Conn.SetConnectTimeout (5000); Conn.SetRequestMethod ("Get"); if (conn.getResponSECODE () == httpurlconnection.http_ok) {inputStream inputStream = Conn.getInputStream (); return inputStream; }} catch (ioException e) {e.printStackTrace (); } return null;} // Enregistrez la réponse des données du serveur dans le fichier local public static void SaveData (InputStream Is, fichier de fichier) {try (tampredInputStream bis = new BufferedInputStream (IS); BufferedOutputStream bos = new BufferedOutStream (new FileOutputStream (fichier));) {Byte [] Buffer = new Byte [1024]; int len = -1; while ((len = bis.read (tampon))! = -1) {bos.write (tampon, 0, len); bos.flush (); }} catch (ioException e) {e.printStackTrace (); }}}Appelé:
Set <string> imgnumber = (set <string>) reidemplate.opsforhash (). Keys (map_key); imgnumber.stream (). Foreach (e -> {string url = (string) relendetemplate.opsforhash (). Get (map_key, e); filename = e + ". Jpg"; file = new file ("e: // pdff. InputStream inputStream = httpurlconnectionutil .getInputStreAmbyget (URL);Résumer
Ce qui précède est l'exemple de code que l'éditeur vous a introduit à propos de Java Reading Disting Data via URL et de le garder localement. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!