@JFinal 你好,想跟你请教个问题:想请教一下jfinal2.0如何将上传文件进行重命名在进行保存
了解了,会先保存再一个upload的文件夹
jfinal 采用的是先将文件保存到临时文件,然后服务端对临时文件处理!
File f = files.getFile(); 只有renameto的方法,没有rename的方法的
File source = file.getFile(); source.rename(newName);
//上传成功后从UploadFile获取File对象,直接调去rename方法就可以了。
fileName = Oid.getOid() + extension; 这个就是表名
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 重命名就可以了!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(7)
了解了,会先保存再一个upload的文件夹
jfinal 采用的是先将文件保存到临时文件,然后服务端对临时文件处理!
File f = files.getFile(); 只有renameto的方法,没有rename的方法的
fileName = Oid.getOid() + extension; 这个就是表名
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 重命名就可以了!