2010-04-07 40 views
5

您可以将文档放在SP中,但是,当它重新组织文件夹时,我应该如何处理旧链接?如何识别SharePoint中的文档

有没有一种方法来识别文档,而不是使用URL来使用文档的路径?我需要永久链接:http://mysharepoint/doc-123,其中123是文档标识符。

我需要不依赖文档所在文档发布的文档的URL。有解决方案吗?

回答

0

您可以使用URL Shortener解决方案并将其与SharePoint(Designer)工作流或事件接收器结合使用。

我曾参与过一个product,它可以与SharePoint结合使用,并且可以通过Web服务,工作流以及用户界面使用。

由于您的需求很具体,您可能需要做一点额外的编码。如果您无权访问Visual Studio,或者更愿意使用SharePoint Designer工作流程,而不是查看Workflow Power Pack

+0

好,但还是有一个问题:缩短网址取决于文件发布的位置?正如我在您的网站上看到的(产品页面上的第二张截图)原始URL取决于路径“PDFConverterTest/Shared Documents/Forms/AllItems” 如果我将文档移动到另一个站点(例如WordConverterTest),您的方法仍然允许打开该文档使用http://go.local/x3e? – 2010-04-07 08:48:31

+0

您需要更新现有短网址的位置,这是您可以执行的操作。这将取决于你确保这个代码在文件被移动时执行,我不知道哪个进程控制这个。或者,您可以将短网址保存在文件的隐藏字段中,以便您可以定期迭代文件并将关联的短网址更新到新位置。 – 2010-04-07 17:05:07

+0

我明白了,这是我不想跟踪和花费时间的东西。 – 2010-04-08 08:59:00

1

SP2010将为每个可用于内置重定向器服务的文档提供唯一的每个网站集标识符。

+0

谢谢,因此以前的SP版本无法做到这一点?这是对的吗? – 2010-04-08 09:00:32

0

您可以创建包含映射到文件的数据库表(您需要在文件更改时更新) 表中应包含要路由的URL | url destination 然后你可以实现一个HttpModule,它读取那个URL然后重定向到表中的那个,但是这会花费你的整体性能,所以你可以创建一个模式,只有当它匹配模式时才会这样做。

0

在SharePoint 2007中,您可以创建一个将文档的唯一ID作为查询参数的重定向页面。使用此ID获取文档SPContext.Current.Web.GetFile(id),并使用文件url重定向响应。