@@ -13,7 +13,6 @@ import org.apache.tika.metadata.TikaCoreProperties
1313import org.slf4j.Logger
1414import org.slf4j.LoggerFactory
1515import org.springframework.stereotype.Component
16- import org.springframework.web.multipart.MultipartFile
1716
1817private const val ZIP_MIME_TYPE = " zip"
1918private const val ENTRY_NAME_UNKNOWN = " Unknown"
@@ -22,11 +21,13 @@ private const val ENTRY_NAME_UNKNOWN = "Unknown"
2221class ResourceScanner {
2322 private val logger: Logger = LoggerFactory .getLogger(this ::class .java)
2423
25- fun scanMimeTypes (file : MultipartFile , authorizedMimeTypes : List <String >) {
24+ fun scanMimeTypes (
25+ fileName : String = ENTRY_NAME_UNKNOWN ,
26+ inputStream : InputStream ,
27+ authorizedMimeTypes : List <String >
28+ ) {
2629 val tika = TikaConfig ()
27- val inputStream = file.inputStream
28- val name = file.originalFilename ? : ENTRY_NAME_UNKNOWN
29- this .scanStream(tika, inputStream, name, authorizedMimeTypes)
30+ this .scanStream(tika, inputStream, fileName, authorizedMimeTypes)
3031 }
3132
3233 private fun scanStream (
@@ -40,7 +41,7 @@ class ResourceScanner {
4041 var mimetype = tika.detector.detect(inputStream, metadata)
4142 this .validateMimeType(mimetype.toString(), name, authorizedMimeTypes)
4243 this .logger.info(" Detected type for file $name : $mimetype " )
43- if (mimetype.subtype.equals( ZIP_MIME_TYPE ) ) {
44+ if (mimetype.subtype == ZIP_MIME_TYPE ) {
4445 val zipIn = ZipInputStream (inputStream)
4546 this .recurseScanZipFile(tika, zipIn, name, authorizedMimeTypes)
4647 }
0 commit comments