From 4ab942df06d2f7d6f2df1102ef5b83d6a1696763 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期一, 20 二月 2023 17:14:14 +0800 Subject: [PATCH] 人员文件上传 --- src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 58 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java index 03b33ba..6f95ba8 100644 --- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java @@ -27,11 +27,15 @@ import org.primefaces.model.LazyDataModel; import org.primefaces.model.SortOrder; import org.primefaces.model.UploadedFile; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import javax.annotation.Resource; +import java.io.File; +import java.io.FileOutputStream; import java.io.InputStream; +import java.io.OutputStream; import java.math.BigDecimal; import java.nio.charset.CharacterCodingException; import java.security.NoSuchAlgorithmException; @@ -54,6 +58,9 @@ private BaseRoleService baseRoleService; @Resource private SysProjectService sysProjectService; + + @Value("${personImgPath}") + private String personImgPath; private LazyDataModel<SysUser> dataModel; private SysUser sysUser; @@ -566,6 +573,57 @@ } } + // 文件上传 + public void handleImageUpload(FileUploadEvent event) { + UploadedFile file = event.getFile(); + try { + // 1.上传文件 + InputStream is = file.getInputstream(); + String oldName = file.getFileName(); + String newName = new Date().getTime() + oldName.substring(oldName.lastIndexOf(".")); + String realPath = personImgPath + "/"; + File dest = new File(realPath, newName); + if (!dest.getParentFile().exists()) { + boolean rel = dest.getParentFile().mkdirs(); + if (!rel) { + throw new Exception("文件夹创建失败"); + } + } + + OutputStream os = new FileOutputStream(dest); + try { + byte[] buffer = new byte[8 * 1024]; + int bytesRead; + while ((bytesRead = is.read(buffer)) != -1) { + os.write(buffer, 0, bytesRead); + } + // 更新用户url + sysUser.setUrl("upload/upload/" + newName); + // 清空图片文件以便再次上传 + RequestContext.getCurrentInstance().update("dialogForm2"); + // 更新用户表单 + RequestContext.getCurrentInstance().update("dialogForm"); + // 隐藏上传框 + RequestContext.getCurrentInstance().execute("PF('imgDialog').hide()"); + + } catch (Exception e) { + FacesUtils.warn("文件上传失败。"); + throw e; + } finally { + if (is != null) { + is.close(); + } + if (os != null) { + os.close(); + } + } + + } catch (Exception e) { + FacesUtils.warn("操作失败。"); + return; + } + } + public void initPage() { sysUser = sysUserService.getSysUser(getUser().getId()); -- Gitblit v1.9.2