dschmidt opened a new pull request, #3529:
URL: https://github.com/apache/tika/pull/3529

   `.3mf` files are detected as 
`application/vnd.ms-package.3dmanufacturing-3dmodel+xml` (TIKA-4224). Without a 
declared supertype, the `+xml` suffix made that a sub-type of 
`application/xml`, so XMLParser received the zip package and failed; 
`/unpack/preset/thumbnail` answered 422.
   
   - `tika-mimetypes.xml`: the type is declared a sub-type of 
`application/zip`, which takes precedence over the suffix rule, so ZipParser 
opens the package.
   - `ZipParser`: the type is added to the zip specializations whose content 
type it keeps, instead of overwriting it with `application/zip`.
   - `OPCPackageDetector`: `[Content_Types].xml` maps the 3MF model content 
type, so the streaming zip detector returns 3MF instead of `x-tika-ooxml`. 
`TestContainerAwareDetector.test3MF` only checks the streaming detector for zip 
sub-types, which is why this did not show before.
   
   Test: `test3mf.3mf` keeps its type, has no container exception and its parts 
come out as embedded documents. Also checked against the 3MF Consortium's 
sample files: 37 of 40 answered 422 before and parse now; three were detected 
as plain zip before and are now detected as 3MF. Marking 
`Metadata/thumbnail.png` as the THUMBNAIL is TIKA-5032.
   
   Open question: the `+xml` type names the model part inside the package; IANA 
registers the package itself as `model/3mf`. Renaming would change the detected 
type for existing users, so this PR keeps the name.
   
   https://issues.apache.org/jira/browse/TIKA-5031
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to