簡體   English   中英

SharePoint中圖片的上傳和處理

[英]Uploading and handling images in SharePoint

我在 SharePoint 列表中有一個自定義表單,用戶可以在其中上傳圖像和標題。

有一張帶有模板的 PowerPoint 幻燈片,其中圖像應為 go 並在其下方顯示標題。 理想情況下,我希望上傳的圖像取自 SharePoint 列表並自動輸入到帶有標題的 PowerPoint 幻燈片。 然后將幻燈片保存為圖片文件並上傳到SharePoint圖庫,以便在首頁的圖庫幻燈片中使用。

有沒有人知道如何做到這一點或任何其他可能的方式。

我曾嘗試組合使用 JavaScript 和 html,但沒有成功。

您可以使用 SharePoint REST API 從 SharePoint 列表中檢索圖像和標題,然后使用 Microsoft Graph API 將圖像和標題添加到 PowerPoint 幻燈片模板。 幻燈片更新后,可以使用Microsoft Graph API將幻燈片轉換為圖片文件,然后使用SharePoint REST API等編程語言將圖片文件上傳到SharePoint圖片庫。可以使用88278394285299等編程語言自動化這個過程。

可以參考以下代碼通過rest api和js上傳圖片到sharepoint

var fileInput = jQuery('#getFile');
var file = fileInput[0].files[0];
var serverRelativeUrlToFolder = '*****'; //if the library in subsite, You have to remove the forward slash "/" before the document library relative url. 
proccessUploadUsingJQueryAjax(file, serverRelativeUrlToFolder);

function getFileBuffer(file) {
     var deferred = jQuery.Deferred();
     var reader = new FileReader();
     reader.onloadend = function (e) {
          deferred.resolve(e.target.result);
     }
     reader.onerror = function (e) {
          deferred.reject(e.target.error);
     }
     reader.readAsArrayBuffer(file);
     return deferred.promise();
}
function addFileToFolderUsingJQueryAjax(fileName, arrayBuffer, serverRelativeUrlToFolder) {
       // Construct the endpoint.
        var fileCollectionEndpoint = String.format(
                "{0}/_api/web/GetFolderByServerRelativeUrl('{1}')/files/add(overwrite=true, url='{2}')",
                _spPageContextInfo.webAbsoluteUrl, serverRelativeUrlToFolder, fileName);

        // Send the request and return the response.
        // This call returns the SharePoint file.
        return jQuery.ajax({
            url: fileCollectionEndpoint,
            type: "POST",
            data: arrayBuffer,
            processData: false,
            contentType: "application/json;odata=verbose",
            headers: {
                "accept": "application/json;odata=verbose",
                "X-RequestDigest": jQuery("#__REQUESTDIGEST").val()
            }
        });
    }
function proccessUploadUsingJQueryAjax(file, serverRelativeUrlToFolder){
     var getFile = getFileBuffer(file);
     getFile.done(function (arrayBuffer) {
     // Add the file to the SharePoint folder.
            var addFile = addFileToFolderUsingJQueryAjax("image.jpg", arrayBuffer, serverRelativeUrlToFolder);
            addFile.done(function (file, status, xhr) {
                alert("File Uploaded");
            });
            addFile.fail(function (error) { alert("Error Add File: " + error.responseText); });
        });
     getFile.fail(function (error) { alert("Error Get File: " + error.responseText); });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM