【问题标题】:uploading images and saving in folder using JAVA [duplicate]使用JAVA上传图像并保存在文件夹中[重复]
【发布时间】:2016-12-20 02:57:40
【问题描述】:
$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

【问题讨论】:

  • 我们将不胜感激

标签: java image forms file-upload submit


【解决方案1】:

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

/**
 * 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();
    }
}

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2021-12-23
    • 2021-10-24
    • 1970-01-01
    相关资源
    最近更新 更多