Sharepoint 2016. Изменение пользовательского места загрузки для текущего набора документов - PullRequest
0 голосов
/ 20 сентября 2018

Я реализовал пользовательскую кнопку загрузки на измененном docsethomepage.aspx.На новой странице отображаются свойства DS.

Я хотел бы использовать javascript для загрузки файла в этот набор документов вместо папки документов.

Я следую за огромной помощью, найденной в здесь Мне «нужно» только изменить путь от Документов к этому набору Документов.Строки запроса в URL имеют следующие доступные идентификаторы:

ID, FolderCTID, List и RootFolder, которые, как я подозреваю, необходимо использовать.

Я пытаюсь поиграть с функцией uploadFile, но пока чтоне удалось.Ваша помощь очень ценится.

Код:

 <script language="javascript" type="text/javascript">  

  var fileInput ;  

        $(document).ready(function()  
        {  
            fileInput = $("#getFile");  
            SP.SOD.executeFunc('sp.js', 'SP.ClientContext', registerClick);  
        });  
  
        function registerClick()  
        {  
            //Register File Upload Click Event  
            $("#addFileButton").click(readFile);  
        }  
        var arrayBuffer;  
  
        function readFile()  
        {  
            //Get File Input Control and read th file name  
            var element = document.getElementById("getFile");  
            var file = element.files[0];  
            var parts = element.value.split("\\");  
            var fileName = parts[parts.length - 1];  
            //Read File contents using file reader  
            var reader = new FileReader();  
            reader.onload = function(e)  
            {  
                console.log(e.target);
                console.log(fileName);
                uploadFile(e.target.result, fileName);  
            }  
            reader.onerror = function(e)  
            {  
                alert(e.target.error);  
            }  
            reader.readAsArrayBuffer(file);  
        }  
        var attachmentFiles;  
  
        function uploadFile(arrayBuffer, fileName)  
        {  
            //Get Client Context,Web and List object.  
            var clientContext = new SP.ClientContext();  
            var oWeb = clientContext.get_web();  
            var oList = oWeb.get_lists().getByTitle('Documents');  
            //Convert the file contents into base64 data  
            var bytes = new Uint8Array(arrayBuffer);  
            var i, length, out = '';  
            for (i = 0, length = bytes.length; i < length; i += 1)  
            {  
                out += String.fromCharCode(bytes[i]);  
            }  
            var base64 = btoa(out);  
            //Create FileCreationInformation object using the read file data  
            var createInfo = new SP.FileCreationInformation();  
            createInfo.set_content(base64);  
            createInfo.set_url(fileName);  
            //Add the file to the library  
            var uploadedDocument = oList.get_rootFolder().get_files().add(createInfo)  
            //Load client context and execcute the batch  
            clientContext.load(uploadedDocument);  
            clientContext.executeQueryAsync(QuerySuccess, QueryFailure);  
        }  
  
        function QuerySuccess()  
        {  
            console.log('File Uploaded Successfully.');  
        }  
  
        function QueryFailure(sender, args)  
        {  
            console.log('Request failed with error message - ' + args.get_message() + ' . Stack Trace - ' + args.get_stackTrace());  
        }  
    </script>  
...