動態

詳情 返回 返回

SharePoint System.Net.WebException:“遠程服務器返回錯誤: (414) REQUEST URI TOO LONG。” - 動態 詳情

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文件中添加以下配置。

  1. <system.web>
  2. <httpRuntime maxRequestLength="102400" maxQueryStringLength="102400"/>
  3. </system.web>
  1. <system.webServer>
  2. <security>
  3. <requestFiltering>
  4. <requestLimits maxAllowedContentLength="102400" maxQueryString="102400" />
  5. </requestFiltering>
  6. </security>
  7. </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

  • Clone or Copy SharePoint document Library Files and Folders from one site to another using CSOM

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));  
}                                

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

文-字-少-的-博-文-不-允-許-投-稿-到-該-網-站-分-類,真*惡*心

user avatar Johny-zhao 頭像 sunhao1234 頭像 life512 頭像 netboys 頭像 jianyus 頭像
點贊 5 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.