Java(NetBeans)将图像从URL保存到本地

Java(NetBeans)将图像从URL保存到本地,java,netbeans,Java,Netbeans,我正在尝试将CSV文件导入MySQL数据库。那很好用。当我试图将一个图像文件从URL下载到运行servlet的服务器并保存到该服务器时,问题就出现了 当我在NetBeans IDE的本地机器上运行servlet时,它可以完美地工作。它下载文件,更改其大小。当我在浏览器中运行的服务器上尝试它时,它会抛出一个异常,并说它找不到目录/文件 这是我当前的代码: try { saveImage(item[3], idir + prod + ".jpg"); } catch (IOException

我正在尝试将CSV文件导入MySQL数据库。那很好用。当我试图将一个图像文件从URL下载到运行servlet的服务器并保存到该服务器时,问题就出现了

当我在NetBeans IDE的本地机器上运行servlet时,它可以完美地工作。它下载文件,更改其大小。当我在浏览器中运行的服务器上尝试它时,它会抛出一个异常,并说它找不到目录/文件

这是我当前的代码:

try {
    saveImage(item[3], idir + prod + ".jpg");
} catch (IOException ioe) {
    JOptionPane.showMessageDialog(null, ioe.getMessage());
}

public static void saveImage ( String imageUrl, String destinationFile ) throws IOException {
    URL url = new URL(imageUrl);
    InputStream is = url.openStream();
    OutputStream os = new FileOutputStream(destinationFile);

        byte[] b = new byte[2048];
    int length;

    while ((length = is.read(b)) != -1) {
        os.write(b, 0, length);
    }

    is.close();
        os.close();
    }
正如我所说,这在我的本地系统中运行得非常好,只有当它在服务器上作为servlet运行时,它才不再工作


我认为唯一的另一种选择是从Java运行CLI命令,然后使用WGET下载有问题的文件。但如果可能的话,我想避开这个问题。

服务器文件系统不同于本地文件系统。出于安全原因,您不能在浏览器中调用url并在本地计算机上保存文件。在服务器上,例如在
var/www/htdocs
中,只有在目录
xyz
已经存在的情况下,才可以这样做。它获取文件,这不是问题所在。我想把它保存到服务器上。从URL获取文件从来都不是问题。请在发帖前仔细阅读。谢谢。
当我在本地机器上运行servlet时,它工作得非常好。如果服务器和客户端在同一台机器上,你可以把文件保存在任何你想保存的地方。我希望你在回复评论之前先阅读这篇文章。它们不在同一台机器上。NetBeans是我的本地开发环境,服务器是远程的,它最终作为一个由HTML和apache提供服务的Servlet上传到远程。邮寄前请先阅读。