使用JAVA上传图像并保存在文件夹中

时间:2016-08-13 04:05:50

标签: java image forms file-upload submit

$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        // basename() may prevent filesystem traversal attacks;
        // further validation/sanitation of the filename may be appropriate
        $name = basename($_FILES["pictures"]["name"][$key]);
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}

这是使用PHP上传图像的方法。 JAVA有相同的功能吗?我想上传图片并将其保存在文件夹中但使用JAVA。

行动应该在表单提交时发生。 没有用于此上传的servlet

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助:将所有文件从一个文件夹复制到另一个文件夹:

/**
 * Copy files from one directory to another.
 * @param sourceFile
 * @param destFile
 * @throws IOException
 */
public static void copyAllDirFiles(File fromDir, File toDir)
                                            throws IOException {
    //check if source is a directory 
    if (!fromDir.isDirectory()) {
        throw new IOException(fromDir + " directory not found.");
    }
    //if destination does not exit, create it 
    if (!toDir.exists()) {
        toDir.mkdir();
    }
    //get files from source 
    File[] files = fromDir.listFiles();
    for (File file : files) {
        InputStream in = new FileInputStream(file);
        OutputStream out = new FileOutputStream(toDir + "/"
                + file.getName());
        // Copy the bits from input stream to output stream
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    }
}