3

Я новичок в модели sharepoint и объектной модели клиента. Я застрял в проблеме и не смог решить проблему. Я хочу загрузить файлы более 10 МБ с использованием модели объектов клиента в Sharepoint 2013. Я получаю следующее исключениеSharepoint 2013 Клиентская модель объекта размером более 2 МБ

Слишком большое сообщение с запросом. Сервер не разрешает сообщениям , размер которых превышает 2097152 байт.

Я пробовал все. Вот список вещей, которые я сделал

1- Изменены параметры в файле web.config моего локального веб-приложения

<system.web> 
<httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="2147483647" requestLengthDiskThreshold="2147483647" executionTimeout="18000"/> </system.web> 

<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"/> 
<security> 
<requestFiltering> 
<requestLimits maxAllowedContentLength="2147483647" /> 
</requestFiltering> 
</security> 
</system.webServer> 

2- В PowerShell на мой сервер побежал следующие команды и перезапущен приложения в IIS. Даже перезапустил весь IIS.

$ws = [Microsoft.SharePoint.Administration.SPWebService]::ContentService 
$ws.ClientRequestServiceSettings.MaxReceivedMessageSize = 2147483647 
$ws.Update() 

Вот мой код:

private void UploadDataToSharepointTest(List<UploadData> pDataObjList) 
    { 
     string lServerUrl = @"http://xxxxxxx:2000/"; 
     string lFolderName = DateTime.Now.ToString(@"yyyyMMddHHmmss"); 


     ClientContext context = new ClientContext(lServerUrl); 
     context.AuthenticationMode = ClientAuthenticationMode.Default; 
     context.Credentials = new System.Net.NetworkCredential("user", "password", "domain");   

     Web web = context.Web; 
     List docs = web.Lists.GetByTitle("ABC"); 
     Folder lNewFolder = web.Folders.Add(lServerUrl + "ABC/" + lFolderName + "/"); 
     docs.Update(); 

     int fileIndex = 1; 
     foreach (var item in pDataObjList) 
     { 
      FileCreationInformation newFile = new FileCreationInformation(); 
      newFile.Content = System.IO.File.ReadAllBytes(item.CompleteFilePath); 
      newFile.Url = fileIndex.ToString() + "-" + item.fileName; 
      fileIndex++; 

      Microsoft.SharePoint.Client.File uploadFile = lNewFolder.Files.Add(newFile); 

      context.Load(uploadFile); 
      context.ExecuteQuery(); 

      Dictionary<string, string> metadata = new Dictionary<string, string>(); 
      metadata.Add("Comments", item.comments); 
      metadata.Add("Plan_x0020_Size", item.planSize); 
      metadata.Add("Density", item.density); 
      metadata.Add("First_x0020_Name", txtFirstName.Text.Trim()); 
      metadata.Add("Last_x0020_Name", txtLastName.Text.Trim()); 
      metadata.Add("Company", txtCompany.Text.Trim()); 
      metadata.Add("Contact", txtContact.Text.Trim()); 
      metadata.Add("Additional_x0020_Comments", txtAdditionalComments.Text.Trim()); 

      Microsoft.SharePoint.Client.ListItem items = uploadFile.ListItemAllFields; 
      context.Load(items); 
      context.ExecuteQuery(); 

      foreach (KeyValuePair<string, string> metadataitem in metadata) 
      { 
       items[metadataitem.Key.ToString()] = metadataitem.Value.ToString(); 
      } 

      items.Update(); 
      context.ExecuteQuery(); 
     } 

    } 

Примечание: Я могу загрузить небольшие файлы.

+0

Вы нашли какое-либо решение по этому поводу? –

ответ

0

SharePoint позволяет настроить это через центральный администратор, я придерживаюсь этого, чтобы убедиться, что он вносит в вас все необходимые изменения. Вы должны иметь разрешения на уровне фермы. Кроме того, в SharePoint 2013 вы можете иметь разные ограничения на максимальный размер файла для разных типов файлов, поэтому убедитесь, что ваш тип файла не был изменен кем-либо. Different Max based on File Types

Accessing SharePoint Webapp properties via central Admin

+0

Кроме того, это могут быть настройки IIS. Пожалуйста, обратитесь к этому для более подробной информации: http://angler.wordpress.com/2012/03/21/increase-the-sharepoint-2010-upload-file-size-limit/ – onzur

2

Есть ограничение на размер файла, если вы используете встроенные функции загрузки.

Чтобы загрузить файл большого размера, загрузите его с помощью файла filestream.

Взгляните на следующей статье:

http://blogs.msdn.com/b/sridhara/archive/2010/03/12/uploading-files-using-client-object-model-in-sharepoint-2010.aspx

Смежные вопросы