Alfresco Share:下载时缺少文件扩展名

时间:2020-04-02 16:44:11

标签: alfresco alfresco-share

我们正在使用Alfresco 5.2 CE,并且在文件下载方面遇到了问题。

我们通过共享上传文件。然后,有时人们会重命名上载的文件,以删除标题中的文件扩展名。

但是,当下载这些文件以获取本地副本时,将下载不带扩展名的文档。

简单的解决方案是强制人们在上传后不重命名文件。 第二个是修改下载链接,以便在缺少文件扩展名时始终添加文件扩展名。 我一直在搜索更改此位置,但没有找到。 有没有人知道如何做到这一点?

预先感谢

1 个答案:

答案 0 :(得分:2)

我认为引入这种自定义不是一个好主意,因为OOTB行为是正确和合理的。

在Alfresco中下载文档内容的方式有很多,您需要确保自定义所有内容,以使文档名称一致。

如果您仅对从Alfresco Share下载文档时获得的名称感兴趣,则应自定义Share调用的网页脚本。

使用浏览器中的开发工具,您可以看到Alfresco执行了以下调用:

https://your-hostname.com/share/alfresco/slingshot/node/content/workspace/SpacesStore/86b142c2-7e51-4a49-9f5f-451e216e6d63/your-document-without-extension?a=true

这是使用Share作为“ Alfresco”网络脚本(又名ACS)的代理。

实际调用的脚本是:

/ alfresco / service / slingshot / node / content / workspace / SpacesStore / 86b142c2-7e51-4a49-9f5f-451e216e6d63 / your-document-without-extension?a = true

传递给wesbscript的名称将被完全忽略。 wesbcript设置响应头“ Content-Disposition”来确定下载文件的名称(请参见https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

如果要查找实现该Web脚本的内容,最简单的方法是使用/ alfresco / service / index / all上的“ Alfresco服务索引”

搜索网页脚本“ slingshot / node / content”的路径。 您将在下面的屏幕截图中找到类似代码段的内容(在不同版本的Alfresco中可能有所不同):

enter image description here

单击屏幕快照中显示的链接。这将打开一个页面,其中包含有关该Web脚本的信息。

在那里,您可以看到该Web脚本的文件描述符是“ org / alfresco / slingshot / download.get.desc.xml”。您应该能够在Spring上下文中找到一个id为“ webscripts.org.alfresco.slingshot.download.get”的bean(老实说,我没有检查过,但是应该在那里)。

您还可以看到Java支持的类是:org.alfresco.slingshot.web.scripts.SlingshotContentGet

您可以从那里开始,查看需要定制的内容。

我知道这不是完整的答案,但我希望它为您提供了一个良好的示例,可以循序渐进地找到在这种情况下以及在其他情况下所需的内容。

相关问题