想请教一下jfinal2.0如何将上传文件进行重命名在进行保存

rrbaby520 发布于 2015/10/29 08:38
阅读 169
收藏 0

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

加载中
0
费振龙
费振龙
直接用file 重命名就可以了!
0
费振龙
费振龙
  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", "文件写入服务器出现错误,请稍后再上传~!");
        }
    }
0
费振龙
费振龙
 fileName = Oid.getOid() + extension;  这个就是表名
0
Mandarava
Mandarava

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


rrbaby520
rrbaby520
File f = files.getFile(); 只有renameto的方法,没有rename的方法的
0
费振龙
费振龙
jfinal 采用的是先将文件保存到临时文件,然后服务端对临时文件处理!
rrbaby520
rrbaby520
了解了,会先保存再一个upload的文件夹
返回顶部
顶部