From 1e7012def8fc7392ce79247359b7cea3cc3f440d Mon Sep 17 00:00:00 2001 From: 王彪总 Date: Thu, 28 May 2026 19:54:58 +0800 Subject: [PATCH] fix(config): 更新配置文件和修复分页计算问题 --- service-api/src/main/java/com/java110/api/smo/file/impl/AddFileSMOImpl.java | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/service-api/src/main/java/com/java110/api/smo/file/impl/AddFileSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/file/impl/AddFileSMOImpl.java index 4e7de2d..4f76e3a 100644 --- a/service-api/src/main/java/com/java110/api/smo/file/impl/AddFileSMOImpl.java +++ b/service-api/src/main/java/com/java110/api/smo/file/impl/AddFileSMOImpl.java @@ -78,17 +78,28 @@ public class AddFileSMOImpl extends DefaultAbstractComponentSMO implements IAddF String apkFileName = UUID.randomUUID().toString() + ".apk"; String apkDir = "/park/apk/"; File dir = new File(apkDir); - if (!dir.exists()) dir.mkdirs(); + if (!dir.exists()) { + boolean created = dir.mkdirs(); + if (!created) { + throw new IOException("无法创建APK存储目录: " + apkDir); + } + } File apkFile = new File(apkDir + apkFileName); is = uploadFile.getInputStream(); - FileOutputStream fos = new FileOutputStream(apkFile); - byte[] buf = new byte[8192]; - int len; - while ((len = is.read(buf)) != -1) { - fos.write(buf, 0, len); + FileOutputStream fos = null; + try { + fos = new FileOutputStream(apkFile); + byte[] buf = new byte[8192]; + int len; + while ((len = is.read(buf)) != -1) { + fos.write(buf, 0, len); + } + fos.flush(); + } finally { + if (fos != null) { try { fos.close(); } catch (Exception ignored) {} } + if (is != null) { try { is.close(); } catch (Exception ignored) {} } + is = null; // 防止外层 finally 重复关闭 } - fos.close(); - is.close(); JSONObject outParam = new JSONObject(); outParam.put("fileId", "apk/" + apkFileName); -- libgit2 0.21.4