5
回答
想请教一下jfinal2.0如何将上传文件进行重命名在进行保存
百度AI开发者大赛带你边学边开发,赢100万奖金,加群:418589053   

@JFinal 你好,想跟你请教个问题:想请教一下jfinal2.0如何将上传文件进行重命名在进行保存

举报
rrbaby520
发帖于3年前 5回/167阅
共有5个答案 最后回答: 3年前
  String path = "D:\\tuyun\\webapps\\userfile\\default\\picture";
        String tpath = PathKit.getWebRootPath() + "\\temp";
        UploadFile file = getFile("imgFile", tpath);
        if (file == null) {
            error("40003", "图片参数不正确,请重新上传~!");
            return;
        }
        File source = file.getFile();
        String fileName = file.getFileName();
        String extension = fileName.substring(fileName.lastIndexOf("."));
        if (".png".equals(extension.toLowerCase()) || ".jpg".equals(extension.toLowerCase()) || ".gif".equals(extension.toLowerCase())) {
            fileName = Oid.getOid() + extension;
        } else {
            error("40000", "图片格式不正确,请重新上传~!");
            return;
        }
        try {
            try (FileInputStream fis = new FileInputStream(source)) {
                File targetDir = new File(path);
                if (!targetDir.exists()) {
                    targetDir.mkdirs();
                }
                File target = new File(targetDir, fileName);
                if (!target.exists()) {
                    target.createNewFile();
                }
                try (FileOutputStream fos = new FileOutputStream(target)) {
                    byte[] bts = new byte[300];
                    while (fis.read(bts, 0, 300) != -1) {
                        fos.write(bts, 0, 300);
                    }
                }
            }
            success("12006", "图片上传成功~!", 1 + "", fileName);
            source.delete();
        } catch (FileNotFoundException e) {
            error("40001", "上传出现错误,请稍后再上传~!");
        } catch (IOException e) {
            error("40001", "文件写入服务器出现错误,请稍后再上传~!");
        }
    }

File source = file.getFile();
source.rename(newName);
//上传成功后从UploadFile获取File对象,直接调去rename方法就可以了。


--- 共有 1 条评论 ---
rrbaby520File f = files.getFile(); 只有renameto的方法,没有rename的方法的 3年前 回复
jfinal 采用的是先将文件保存到临时文件,然后服务端对临时文件处理!
--- 共有 1 条评论 ---
rrbaby520了解了,会先保存再一个upload的文件夹 3年前 回复
顶部