gpt4 book ai didi

java - 使用 AssetManager 以编程方式在 DAM 中上传文件?我应该使用什么 MimeType?

转载 作者:行者123 更新时间:2023-12-01 12:13:08 25 4
gpt4 key购买 nike

我有一个将文件上传到 SlingServlet 的表单。 SlingSerlvet 接收文件并尝试使用 com.day.cq.dam.api.AssetManager 将文件保存在 DAM 中。(即以编程方式将文件保存在 DAM 中)

问题出在 MIME 类型上。用户可以上传pdf、xls、doc等,因此类型不固定。我不知道如何设置 MIME 类型(参见第三个参数 xxx) assetMgr.createAsset(newFile, is,"xxx", true);

我尝试了“application/octet-stream”,但 CQ 忽略了表示 Assets 被忽略的类型。

日志:

27.11.2014 18:58:48.595 *INFO* [JobHandler: /etc/workflow/instances/2014-11-27/model_879500607401687:/content/dam/videojetdocuments/videojetdocuments/offerletters/Präsentation_Dominik_Suess.pdf/jcr:content/renditions/original] com.day.cq.dam.video.FFMpegThumbnailProcess execute: asset [/content/dam/videojetdocuments/videojetdocuments/offerletters/Präsentation_Dominik_Suess.pdf] is not of a video mime type, asset ignored.
27.11.2014 18:58:48.596 *INFO* [JobHandler: /etc/workflow/instances/2014-11-27/model_879500607401687:/content/dam/videojetdocuments/videojetdocuments/offerletters/Präsentation_Dominik_Suess.pdf/jcr:content/renditions/original] com.day.cq.dam.video.FFMpegTranscodeProcess execute: asset [/content/dam/videojetdocuments/videojetdocuments/offerletters/Präsentation_Dominik_Suess.pdf] is not of a video mime type, asset ignored.

我使用以下命令尝试了此操作 link

此类文件是否有通用的 MIME 类型?

最佳答案

您可以使用 Apache Sling MimeTypeService根据传入的文件名计算 mimetype。另请参阅http://sling.apache.org/documentation/bundles/mime-type-support-commons-mime.html

如果您没有文件名,则需要类似 Apache Tika Detector 的文件名,它分析二进制文件以尝试猜测其 mimetype。我不知道CQ是否提供开箱即用的此类服务,但如果没有,您可以自己集成。

编辑:

基于 Magic header 检查 MIMEType 的 API Link

有助于理解上述问题的链接 Link

关于java - 使用 AssetManager 以编程方式在 DAM 中上传文件?我应该使用什么 MimeType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27172485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com