SharePoint CSOM执行下面代码时报错:
string fileServerRelativeUrl = "/xxxx/2003249_98.RXE";
using (var fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(ctxOriginal, fileServerRelativeUrl)) using (var reader = new StreamReader(fileInfo.Stream)) { Microsoft.SharePoint.Client.File.SaveBinaryDirect( //Client Context ctxTarget, // Server relative url of the document //listTarget.RootFolder.ServerRelativeUrl + file.ServerRelativeUrl.Replace(libraryServerRelativeUrlOriginal,""),//新路径 fileServerRelativeUrlTarget, // Content of the file reader.BaseStream, // Overwrite file if it's already exist true); ctxTarget.ExecuteQuery(); }
报:
尝试修改web.config如下
在Web.config文件中添加以下配置。
- <system.web>
- <httpRuntime maxRequestLength="102400" maxQueryStringLength="102400"/>
- </system.web>
- <system.webServer>
- <security>
- <requestFiltering>
- <requestLimits maxAllowedContentLength="102400" maxQueryString="102400" />
- </requestFiltering>
- </security>
- </system.webServer>
未能解决。
经过各种尝试,一篇来自stackoverflow的帖子提醒了我,
“It was a permission problem. The IIS user did not have read-rights to the folder. Changed to use application pool identity instead and now its working.”
我的账号权限足够。经过查询原来是SharePoint管理中心设置“被禁止的文件类型”导致的。读取的文件是Rxe类型,被禁止了。
参考:
https://blog.csdn.net/qq_38974638/article/details/108500973
https://stackoverflow.com/questions/46190612/the-page-was-not-displayed-because-the-request-uri-is-too-long
----------------------------------------------------
- 文字少的博文不允许投稿到该网站分类 (以下内容跟本文主题无关)
---------------------------------------------------------
https://learn.microsoft.com/en-us/answers/questions/636509/csom-how-to-copy-a-document-from-one-document-libr
CSOM: How to copy a document from one document library to another documents library?
I have a requirement to copy documents that meets a certain criteria ( i.e once a document's approval status = approved) to an Archived documents library. I am looping through all the sites and using CAML query to filter out the documents with approved status but I have no idea how to copy the document to a different library location using CSOM C# after checking this condition. Also, I need the document to be replaced in case it is already present in the archived library.
Note: The archived library is in a different site collection.
Any help is greatly appreciated. Thank you in advance.
var bookname = item.DisplayName; string bookLocation = $"{rootFolder.ServerRelativeUrl}/{bookname}"; var absoluteUrl = new Uri(ctx.Url).GetLeftPart(UriPartial.Authority) + bookLocation; var srcUrl = absoluteUrl; var destUrl = "https://abc.sharepoint.com/sites/Archive"; var srcLibrary = "Documents"; var destLibrary = "Records"; ClientContext destContext = new ClientContext(destUrl); ClientContext srcContext = new ClientContext(srcUrl); destContext.Credentials = SPAuth.GetSPOnlineCredentials(); srcContext.Credentials = SPAuth.GetSPOnlineCredentials(); Web srcWeb = srcContext.Web; List srcList = srcWeb.Lists.GetByTitle(srcLibrary); Web destWeb = destContext.Web; destContext.Load(destWeb); destContext.ExecuteQuery(); try { Microsoft.SharePoint.Client.File file1 = srcContext.Web.GetFileByServerRelativeUrl(bookLocation); srcContext.Load(file1); srcContext.ExecuteQuery(); string location = destWeb.ServerRelativeUrl.TrimEnd('/') + "/" + destLibrary.Replace(" ", "") + "/" + file1.Name; FileInformation fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(srcContext, file1.ServerRelativeUrl); Microsoft.SharePoint.Client.File.SaveBinaryDirect(destContext, location, fileInfo.Stream, true); } catch (Exception ex) { telemetry.TrackException(new Exception("Failed to copy the book to archive library", ex)); }
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
文-字-少-的-博-文-不-允-许-投-稿-到-该-网-站-分-类,真*恶*心
标签:Web,SharePoint,REQUEST,System,library,srcContext,var,document From: https://www.cnblogs.com/sygwin/p/18634146