[
https://issues.apache.org/jira/browse/SLING-4694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14541784#comment-14541784
]
Satya Deep Maheshwari commented on SLING-4694:
----------------------------------------------
I have updated the pull request as per the review comments. Details below:
* Removed empty activator
* Removed version of exported packages in pom
* Removed MimeDetectionConstants
* Removed DETECTION_MODE from the basic MimeTypeServiceImpl
* Removed all changes from mime bundle. No changes needed whatsoever.
* Added optional reference for ContentAwareMimeTypeService in webdav servlet.
webdav servlet would give preference to ContentAwareMimeTypeService if
available else it would fall back to basic MimeTypeService
>>metatype info is not in the component itself
[~cziegeler], can you please explain, what needs to be done for your above
comment?
> 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)