Файл клиентской объектной модели Sharepoint 2013, размер которого превышает 2 Мб

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

Сообщение запроса слишком велико. Сервер не разрешает сообщения размером более 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();
        }

    }

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

2 ответа

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

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

Взгляните на статью ниже:

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

SharePoint позволяет вам настроить это через Central Admin, я бы придерживался этого, чтобы убедиться, что он вносит все необходимые изменения для вас. У вас должны быть разрешения на уровне фермы. Также в SharePoint 2013 у вас могут быть разные максимальные ограничения для разных типов файлов, поэтому убедитесь, что ваш тип файлов не был изменен никем. Разное Макс в зависимости от типа файла

Доступ к свойствам SharePoint Webapp через центрального администратора