| | |
| | | package cn.flightfeather.supervision.common.utils |
| | | |
| | | import java.io.File |
| | | import java.io.FileOutputStream |
| | | import java.io.FileInputStream |
| | | |
| | | |
| | | import cn.flightfeather.supervision.common.exception.BizException |
| | | import org.springframework.web.multipart.MultipartFile |
| | | import java.io.* |
| | | import java.util.* |
| | | |
| | | |
| | | object FileUtil { |
| | |
| | | out.close() |
| | | } |
| | | |
| | | fun delFile(path: String): Boolean { |
| | | val file = File(path) |
| | | if (!file.exists()) return false |
| | | if (file.isDirectory) return false |
| | | try { |
| | | file.delete() |
| | | return true |
| | | } catch (e: Exception) { |
| | | throw BizException("文件删除出错", e.cause) |
| | | } |
| | | } |
| | | |
| | | //删除文件夹 |
| | | fun delFolder(folderPath: String) { |
| | | try { |
| | | delAllFile(folderPath) //删除完里面所有内容 |
| | | var filePath = folderPath |
| | | filePath = filePath |
| | | val myFilePath = java.io.File(filePath) |
| | | val filePath = folderPath |
| | | val myFilePath = File(filePath) |
| | | myFilePath.delete() //删除空文件夹 |
| | | } catch (e: Exception) { |
| | | e.printStackTrace() |
| | |
| | | |
| | | } |
| | | } |
| | | |
| | | fun saveFiles(files: Array<MultipartFile>, basePath: String, path: String): List<String> { |
| | | val pathList = mutableListOf<String>() |
| | | files.forEach { file -> |
| | | val ext = file.originalFilename?.split(".")?.last() |
| | | val fileName = UUID.randomUUID().toString() + "." + ext |
| | | pathList.add("$path$fileName") |
| | | val absolutePath = "${basePath}/$path/" |
| | | try { |
| | | //调用文件保存方法 |
| | | uploadFile(file.bytes, absolutePath, fileName) |
| | | } catch (e: Exception) { |
| | | // TODO: handle exception |
| | | } |
| | | } |
| | | return pathList |
| | | } |
| | | |
| | | /** |
| | | * 按照固定宽度压缩图片至base64形式 |
| | | */ |
| | | // fun compressImage2(bytes: ByteArray): String { |
| | | // val length = 1440//图片长边固定压缩为1440像素 |
| | | // |
| | | // val input = ByteArrayInputStream(bytes) |
| | | // val srcImg = ImageIO.read(input) |
| | | // var srcLong = 0 |
| | | // var srcShort = 0 |
| | | // if (srcImg.width <= srcImg.height) { |
| | | // srcLong = srcImg.height |
| | | // srcShort = srcImg.width |
| | | // |
| | | // } else { |
| | | // |
| | | // } |
| | | // val scale = w.toFloat() / srcW |
| | | // val h = (srcImg.height * scale).toInt() |
| | | // |
| | | // val buffImg = BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB) |
| | | // buffImg.graphics.drawImage(srcImg.getScaledInstance(w, h, Image.SCALE_SMOOTH), 0, 0, null) |
| | | // val out = ByteArrayOutputStream() |
| | | // ImageIO.write(buffImg, "PNG", out) |
| | | // |
| | | // return SCHEME_PNG + Base64.getEncoder().encodeToString(out.toByteArray()) |
| | | // } |
| | | } |