怎么为文档库里面已经存在的文件修改后缀名
如何为文档库里面已经存在的文件修改后缀名
如何为文档库里面已经存在的文件修改后缀名
这个博客是由SharePoint开发人员支持组的工程师Aaron Miao贡献的。原文地址 http://blogs.technet.com/b/sharepointdevelopersupport/archive/2013/10/08/how-to-change-file-extension-of-an-existing-item-in-sharepoint-document-library.aspx
这个博客是由SPFamer翻译的。
人们可能由于各种原因,想要更改文档库里面已经存在的文件的后缀名。比如,在SharePoint 2007里,打开文档库里JSON后缀名的文件没有任何问题,但是一旦你升级到SharePoint 2010,你就不能够再打开了。你会的到类似于下面的消息:
An error occurred during the processingof /Shared Documents/test.json.
The page must have a <%@ webserviceclass=”MyNamespace.MyClass” … %> directive.
要想从SharePoint页面打开JSON文件,一个选择是把文件后缀名改为TXT。但是没有办法修改文件的名字。这个可以通过下面的两个方法数显,可以用PowerShell,也可以用SharePoint server OM.
Use SPFile.MoveTo
$site = Get-SPSite"http://yoursite" $web = $site.RootWeb $list =$web.Lists["SharedDocuments"] $item =$list.GetItemById(0) $file = $item.File $file.MoveTo($item.ParentList.RootFolder.Url+ "/” +”test.txt") $file.Update()
Use SPFile.CopyTo
$site = Get-SPSite"http://yoursite" $web = $site.RootWeb $list =$web.Lists["SharedDocuments"] $caml = ' <Where> <Eq> <FieldRefName="File_x0020_Type" /> <ValueType="Text">json</Value> </Eq> </Where> ' $query = new-object Microsoft.SharePoint.SPQuery $query.Query = $caml $items =$list.GetItems($query) foreach($item in $items) { $file = $item.File $url = $file.ServerRelativeUrl $newurl = $url.replace(".json", ".txt") $file.CopyTo($newurl) }
希望这个对您有帮助。