[ https://issues.apache.org/jira/browse/SLING-4694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Satya Deep Maheshwari closed SLING-4694. ---------------------------------------- > 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 > Assignee: Bertrand Delacretaz > Attachments: SLING-4694.patch > > > *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)