| | |
| | | if (saveInDb) { |
| | | File localFile = new File(Global.getSystemConfig("local.dir", "") + File.separator + attachmentFse.getString(CmnConst.ATTACHMENT_URL) + File.separator + fileName); |
| | | if (!localFile.exists()) { |
| | | localFile.getParentFile().mkdirs(); |
| | | Files.copy(is, localFile.toPath(), StandardCopyOption.REPLACE_EXISTING); |
| | | } |
| | | } |
| | |
| | | ftpService.downloadFile(path, os); |
| | | } |
| | | } else { |
| | | // 直接在本地的目录中找文件 |
| | | String localBasePath = Global.getSystemConfig("local.dir", ""); |
| | | path = localBasePath + File.separator + path; |
| | | File file = new File(path); |
| | | int len; |
| | | byte[] b = new byte[1024]; |
| | | try (InputStream is = new FileInputStream(file)) { |
| | | InputStream is = null; |
| | | try { |
| | | Object fileContent = attachmentFse.getValue("file_content"); |
| | | boolean saveInDb = fileContent != null; |
| | | if (saveInDb) { |
| | | // 存储到数据库 |
| | | is = (InputStream) fileContent; |
| | | } else { |
| | | // 直接在本地的目录中找文件 |
| | | String localBasePath = Global.getSystemConfig("local.dir", ""); |
| | | path = localBasePath + File.separator + path; |
| | | File file = new File(path); |
| | | is = Files.newInputStream(file.toPath()); |
| | | } |
| | | int len; |
| | | byte[] b = new byte[1024]; |
| | | while ((len = is.read(b)) > 0) { |
| | | if (Global.getPropertyToBoolean("file.encrypt", "true")) { |
| | | // 需要解密 |
| | |
| | | os.write(b, 0, len); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | throw new BaseException(FileCode.GET_FILE_BYTES_FAIL); |
| | | } finally { |
| | | if (is != null) { |
| | | is.close(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return os.toByteArray(); |