Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
UPSMF
knowledge-platform
Commits
f17859f0
Commit
f17859f0
authored
2 years ago
by
AmiableAnil
Browse files
Options
Download
Patches
Plain Diff
Issue #KN-231 test: Used the tika to detect the mimetype from filename.
parent
8affd465
release-5.3.0
AmiableAnil-patch-1
Gcloud_copy
Gcloud_fix
Remove_unwantedCode_Gcloud_fix
bulk-upload-comptenecy-mapping
bulk-upload-excelsheet
bulk-upload-test_excel
bulk_upload
csp-migration
knowlg-oneclick
local-setup-kube
master
patch-1
patch-2
patch-3
poc_bulk_upload
rahul_bulk_upload_postgres
release-4.10.1
release-5.0.0
release-5.0.1
release-5.1.0
release-5.1.0-content
release-5.2.0
release-5.2.0_RC2
release-5.2.0_RC1
release-5.1.0_RC1
release-5.0.0_RC2
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
platform-modules/mimetype-manager/src/main/scala/org/sunbird/cloudstore/StorageService.scala
+7
-67
...rc/main/scala/org/sunbird/cloudstore/StorageService.scala
with
7 additions
and
67 deletions
+7
-67
platform-modules/mimetype-manager/src/main/scala/org/sunbird/cloudstore/StorageService.scala
+
7
−
67
View file @
f17859f0
package
org.sunbird.cloudstore
import
java.io.File
import
org.apache.commons.lang3.StringUtils
import
org.apache.tika.Tika
import
org.sunbird.cloud.storage.BaseStorageService
import
org.sunbird.common.Platform
import
org.sunbird.cloud.storage.factory.StorageConfig
import
org.sunbird.cloud.storage.factory.StorageServiceFactory
import
org.sunbird.cloud.storage.factory.
{
StorageConfig
,
StorageServiceFactory
}
import
org.sunbird.common.
{
Platform
,
Slug
}
import
org.sunbird.common.exception.ServerException
import
org.sunbird.common.Slug
import
java.net.URLConnection
import
java.util
import
java.io.File
import
scala.concurrent.
{
ExecutionContext
,
Future
}
class
StorageService
{
...
...
@@ -104,66 +101,9 @@ class StorageService {
}
}
def
getMimeType
(
fileName
:
String
)
:
String
=
{
// 1. first use java's built-in utils
val
mimeTypes
=
URLConnection
.
getFileNameMap
var
contentType
=
mimeTypes
.
getContentTypeFor
(
fileName
)
// 2. nothing found -> lookup our in extension map to find types like ".doc" or ".docx"
if
(
contentType
==
null
)
{
val
extension
=
fileName
.
substring
(
fileName
.
lastIndexOf
(
'.'
)
+
1
,
fileName
.
length
)
contentType
=
fileExtensionMap
.
getOrDefault
(
extension
,
"application/octet-stream"
)
}
contentType
def
getMimeType
(
fileName
:
String
)
:
String
=
{
val
tika
:
Tika
=
new
Tika
()
tika
.
detect
(
fileName
)
}
private
val
fileExtensionMap
:
util.Map
[
String
,
String
]
=
new
java
.
util
.
HashMap
().
asInstanceOf
[
java.util.Map
[
String
,
String
]]
// MS Office
fileExtensionMap
.
put
(
"doc"
,
"application/msword"
)
fileExtensionMap
.
put
(
"dot"
,
"application/msword"
)
fileExtensionMap
.
put
(
"docx"
,
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
)
fileExtensionMap
.
put
(
"dotx"
,
"application/vnd.openxmlformats-officedocument.wordprocessingml.template"
)
fileExtensionMap
.
put
(
"docm"
,
"application/vnd.ms-word.document.macroEnabled.12"
)
fileExtensionMap
.
put
(
"dotm"
,
"application/vnd.ms-word.template.macroEnabled.12"
)
fileExtensionMap
.
put
(
"xls"
,
"application/vnd.ms-excel"
)
fileExtensionMap
.
put
(
"xlt"
,
"application/vnd.ms-excel"
)
fileExtensionMap
.
put
(
"xla"
,
"application/vnd.ms-excel"
)
fileExtensionMap
.
put
(
"xlsx"
,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
)
fileExtensionMap
.
put
(
"xltx"
,
"application/vnd.openxmlformats-officedocument.spreadsheetml.template"
)
fileExtensionMap
.
put
(
"xlsm"
,
"application/vnd.ms-excel.sheet.macroEnabled.12"
)
fileExtensionMap
.
put
(
"xltm"
,
"application/vnd.ms-excel.template.macroEnabled.12"
)
fileExtensionMap
.
put
(
"xlam"
,
"application/vnd.ms-excel.addin.macroEnabled.12"
)
fileExtensionMap
.
put
(
"xlsb"
,
"application/vnd.ms-excel.sheet.binary.macroEnabled.12"
)
fileExtensionMap
.
put
(
"ppt"
,
"application/vnd.ms-powerpoint"
)
fileExtensionMap
.
put
(
"pot"
,
"application/vnd.ms-powerpoint"
)
fileExtensionMap
.
put
(
"pps"
,
"application/vnd.ms-powerpoint"
)
fileExtensionMap
.
put
(
"ppa"
,
"application/vnd.ms-powerpoint"
)
fileExtensionMap
.
put
(
"pptx"
,
"application/vnd.openxmlformats-officedocument.presentationml.presentation"
)
fileExtensionMap
.
put
(
"potx"
,
"application/vnd.openxmlformats-officedocument.presentationml.template"
)
fileExtensionMap
.
put
(
"ppsx"
,
"application/vnd.openxmlformats-officedocument.presentationml.slideshow"
)
fileExtensionMap
.
put
(
"ppam"
,
"application/vnd.ms-powerpoint.addin.macroEnabled.12"
)
fileExtensionMap
.
put
(
"pptm"
,
"application/vnd.ms-powerpoint.presentation.macroEnabled.12"
)
fileExtensionMap
.
put
(
"potm"
,
"application/vnd.ms-powerpoint.presentation.macroEnabled.12"
)
fileExtensionMap
.
put
(
"ppsm"
,
"application/vnd.ms-powerpoint.slideshow.macroEnabled.12"
)
// Open Office
fileExtensionMap
.
put
(
"odt"
,
"application/vnd.oasis.opendocument.text"
)
fileExtensionMap
.
put
(
"ott"
,
"application/vnd.oasis.opendocument.text-template"
)
fileExtensionMap
.
put
(
"oth"
,
"application/vnd.oasis.opendocument.text-web"
)
fileExtensionMap
.
put
(
"odm"
,
"application/vnd.oasis.opendocument.text-master"
)
fileExtensionMap
.
put
(
"odg"
,
"application/vnd.oasis.opendocument.graphics"
)
fileExtensionMap
.
put
(
"otg"
,
"application/vnd.oasis.opendocument.graphics-template"
)
fileExtensionMap
.
put
(
"odp"
,
"application/vnd.oasis.opendocument.presentation"
)
fileExtensionMap
.
put
(
"otp"
,
"application/vnd.oasis.opendocument.presentation-template"
)
fileExtensionMap
.
put
(
"ods"
,
"application/vnd.oasis.opendocument.spreadsheet"
)
fileExtensionMap
.
put
(
"ots"
,
"application/vnd.oasis.opendocument.spreadsheet-template"
)
fileExtensionMap
.
put
(
"odc"
,
"application/vnd.oasis.opendocument.chart"
)
fileExtensionMap
.
put
(
"odf"
,
"application/vnd.oasis.opendocument.formula"
)
fileExtensionMap
.
put
(
"odb"
,
"application/vnd.oasis.opendocument.database"
)
fileExtensionMap
.
put
(
"odi"
,
"application/vnd.oasis.opendocument.image"
)
fileExtensionMap
.
put
(
"oxt"
,
"application/vnd.openofficeorg.extension"
)
// Other
fileExtensionMap
.
put
(
"rtf"
,
"application/rtf"
)
fileExtensionMap
.
put
(
"pdf"
,
"application/pdf"
)
fileExtensionMap
.
put
(
"h5p"
,
"application/octet-stream"
)
fileExtensionMap
.
put
(
"csv"
,
"text/csv"
)
fileExtensionMap
.
put
(
"epub"
,
"application/epub+zip"
)
}
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets