[
https://issues.apache.org/jira/browse/SLING-4694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14541849#comment-14541849
]
Satya Deep Maheshwari commented on SLING-4694:
----------------------------------------------
OK, I see what you say. IIUC, you would want a flexibility in the service
consumer to indicate their service requirement as
optional/mandatory/not-needed.
I thought that this decision of whether to use this service (optionally or
compulsorily) or not at all would be made at the time of writing the code
itself. Like the webdav servlet enforces it in its code to use it optionally if
available.
> Add ability to identify mime type based on file content
> -------------------------------------------------------
>
> Key: SLING-4694
> URL: https://issues.apache.org/jira/browse/SLING-4694
> Project: Sling
> Issue Type: Improvement
> Components: Servlets
> Affects Versions: JCR Webdav 2.2.2
> Reporter: Satya Deep Maheshwari
>
> *Problem description:* I am facing a problem with the mime type detection of
> a file. While debugging, I see that SlingTikaDetector.detect method is used
> for detecting the mime type of my file. See [1]. This method just seems to
> rely on the name of the file for detecting its mime type. Even though its
> passed an inputstream of the file, it does not seem to use it for mime type
> detection. So if my file name is something like xyz.tmp, it detects its mime
> type as application/octet-stream (the default) while it may actually be a png
> file. This is a common scenario with webdav clients wherein temporary files
> get created with such names while being edited.
> *Suggested Solution:*
> Quoting [~rombert]
> {quote}
> Following the discussions at SLING-1059 [1] and SLING-255 [2] I can
> infer that we more or less opted out of the 'heavy-weight' approach of
> actually parsing the input stream. Not sure if we want to revisit that
> TBH. At any rate, our MimeTypeService does not have an API for getting
> the file content based on the input stream.
> I think though there's a way around it, but only at the code level.
> The org.apache.sling.jcr.webdav.impl.helper.SlingResourceConfig class
> hardcodes the Detector implementation to be a SlingTikaDetector.
> I think it is worthwile to raise a Jira issue for this and it would
> definitely expedite the fix if you're willing to submit a patch / pull
> request. I think it can be as simple as adding a @Reference to a Tika
> Detector to the SlingWebDavServlet and then passing that to the
> SlingServletConfig.
> Cheers,
> Robert
> [1]: https://issues.apache.org/jira/browse/SLING-1059
> [2]: https://issues.apache.org/jira/browse/SLING-255
> {quote}
> Related mailing-list thread on this:
> http://apache-sling.73963.n3.nabble.com/mime-type-detection-td4050586.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)