You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2015/05/28 09:45:17 UTC

[jira] [Resolved] (SLING-4694) Add ability to identify mime type based on file content

     [ https://issues.apache.org/jira/browse/SLING-4694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bertrand Delacretaz resolved SLING-4694.
----------------------------------------
    Resolution: Fixed
      Assignee: Bertrand Delacretaz

I have cleaned a few things up, the new module is at  https://svn.apache.org/repos/asf/sling/trunk/bundles/commons/contentdetection , thanks again for your contribution! Marking this fixed.


> 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)