【问题标题】:SharePoint 2013 "Download a copy" button/link for document library文档库的 SharePoint 2013“下载副本”按钮/链接
【发布时间】:2015-09-05 17:23:35
【问题描述】:

我在 SP2013 中有一个充满表单的文档库。我的用户对打开文件时弹出的“需要签出”框感到困惑。我一直告诉他们他们需要下载一个副本,但这似乎是一个问题。因此,我考虑添加一个“下载副本”按钮或指向库的链接,并提出了这个解决方案,它被放在 Web 部件页面上的 sn-p 中(来源:https://amalhashim.wordpress.com/2013/11/29/sharepoint-2013-document-library-download-a-copy-button/):

<script type="text/javascript">
function runAfterEverythingElse(){
var elementArray = document.getElementsByClassName("ms-vb-lastCell");
var idArray = document.getElementsByClassName("ms-listlink");
for(var i = 0; i < elementArray.length; i++)
{
elementArray[i].innerHTML = '<a unselectable="on" href="javascript:;" onclick="window.open(\''+ idArray[i]['href'] + '\')" class="ms-cui-ctl-large " aria-describedby="Ribbon.Documents.Copies.Download_ToolTip" mscui:controltype="Button" role="button" id="Ribbon.Documents.Copies.Download-Large"><span unselectable="on" class="ms-cui-ctl-largeIconContainer"><span unselectable="on" class=" ms-cui-img-32by32 ms-cui-img-cont-float"><img unselectable="on" alt="" src="/_layouts/15/1033/images/formatmap32x32.png?rev=31" style="top: -409px; left: -35px;"></span></span><span unselectable="on" class="ms-cui-ctl-largelabel">Download a<br>Copy</span></a>';
}  
}
_spBodyOnLoadFunctionNames.push("runAfterEverythingElse");  

这部分有效,因为它在每个文档旁边放置一个按钮,上面写着“下载副本”,但实际操作只是在 Word 中打开文件(而不是在浏览器中)。签出提示仍然存在,所以我知道它正在打开文件而不是下载副本。所以虽然我喜欢它的外观,但功能不正确。

在此处 (How to trigger a file download when clicking an html button or javascript) 的另一个问题的答案中,我找到了一些说明,但我不知道如何使用它们。我尝试创建一个创建下载链接并将其放入 html 格式字段的工作流,但无法正确设置格式。

我并不关心解决方案是基于库(每个文档上的一个字段可能通过 Nintex 工作流创建)还是基于 Web 部件页(脚本/sn-p)。我不熟悉 jquery、javascript 或其他编程语言。我知道 HTML,并且可以通过 CSS 摸索,但我几乎是从互联网解决方案中直接复制粘贴的那种女孩。我不是程序员,只是管理我们的 SharePoint 网站以及其他工作职能的人。 :)

非常感谢任何有关如何调整原始代码或如何更好地做到这一点的建议。我们使用的是 SP2013。

【问题讨论】:

    标签: sharepoint sharepoint-2013


    【解决方案1】:

    @Kelly 我在 sharepoint 2010 中使用 Dataview webpart 实现了这个解决方案。

    Dataview webparts 循环遍历文档库中的所有文档,下面的代码允许用户下载文件。

    <a href="https://<SiteUrl>/_layouts/download.aspx?SourceUrl=https://<SiteUrl>/DocLibrary/Test.docx">Test.docx - Download a copy</a>
    

    我希望它有所帮助。 :)

    【讨论】:

      猜你喜欢
      • 2015-07-08
      • 2014-05-22
      • 2012-12-24
      • 1970-01-01
      • 2020-06-01
      • 2011-04-30
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多