/** * Get the contents of a URL and return it as an image. * * @return a String representing the path the file was actually saved to, or empty string if * something failed. */ public static String loadWebImageToLinkedFiles(String address, String sFileName, String sPath) throws Exception { ProjectCompendium.APP.setWaitCursor(); File newFile = new File(sPath + sFileName); String imgAddress = address.toLowerCase(); if ((imgAddress.startsWith("www") || imgAddress.startsWith("http") || imgAddress.startsWith("https")) // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ && isImage(imgAddress)) { // $NON-NLS-1$ if (newFile.exists()) { int response = JOptionPane.showConfirmDialog( ProjectCompendium.APP, LanguageProperties.getString( LanguageProperties.UI_GENERAL_BUNDLE, "UIImages.nameExistsMessage1a") + "\n" + //$NON-NLS-1$ //$NON-NLS-2$ LanguageProperties.getString( LanguageProperties.UI_GENERAL_BUNDLE, "UIImages.nameExistsMessage1b") + "\n\n" + //$NON-NLS-1$ //$NON-NLS-2$ "(" + LanguageProperties.getString( LanguageProperties.UI_GENERAL_BUNDLE, "UIImages.nameExistsMessage1c") + ")\n\n", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ LanguageProperties.getString( LanguageProperties.UI_GENERAL_BUNDLE, "UIImages.externalDragAndDrop"), JOptionPane.YES_NO_OPTION); // $NON-NLS-1$ if (response == JOptionPane.YES_OPTION) { UIFileChooser fileDialog = new UIFileChooser(); fileDialog.setDialogType(JFileChooser.SAVE_DIALOG); fileDialog.setDialogTitle( LanguageProperties.getString( LanguageProperties.UI_GENERAL_BUNDLE, "UIImages.changeFileName")); // $NON-NLS-1$ fileDialog.setApproveButtonText( LanguageProperties.getString( LanguageProperties.UI_GENERAL_BUNDLE, "UIImages.saveButton")); // $NON-NLS-1$ fileDialog.setCurrentDirectory(new File(newFile.getParent() + ProjectCompendium.sFS)); fileDialog.setSelectedFile(newFile); UIUtilities.centerComponent(fileDialog, ProjectCompendium.APP); int retval = fileDialog.showSaveDialog(ProjectCompendium.APP); if (retval == JFileChooser.APPROVE_OPTION) { if ((fileDialog.getSelectedFile()) != null) { String fileName2 = fileDialog.getSelectedFile().getName(); if (fileName2 != null) { sFileName = fileName2; File fileDir = fileDialog.getCurrentDirectory(); if (ProjectCompendium.isMac) sPath = fileDir.getAbsolutePath() + ProjectCompendium.sFS; else sPath = fileDir.getPath(); } } } else { return new String(""); // $NON-NLS-1$ } } } URL url = new URL(address); URLConnection conn = url.openConnection(); conn.connect(); DataInputStream stream = new DataInputStream(new BufferedInputStream(conn.getInputStream())); FileOutputStream output = new FileOutputStream(sPath + sFileName); int count = conn.getContentLength(); if (count > 0) { for (int i = 0; i < count; i++) { output.write(stream.read()); } } else { sFileName = ""; // $NON-NLS-1$ } stream.close(); output.flush(); output.close(); ProjectCompendium.APP.setDefaultCursor(); return sPath + sFileName; } else { ProjectCompendium.APP.setDefaultCursor(); return new String(""); // $NON-NLS-1$ } }