簡體   English   中英

使用JavaScript將PDF附加到Dynamic CRM中的Notes

[英]Attach PDF to Notes in Dynamic CRM using javascript

我有PDF URL,需要使用javascript附加到我的Notes區域。 我試過下面的代碼,但沒有用。 它說打開PDF時PDF已損壞。 Notes正在創建,但是當我單擊PDF附件時。 打開文件時,它將引發損壞文件的錯誤。

    function CreateNotes()
    {
    var Annotation = new Object();
    Annotation.ObjectId = { LogicalName: "quote", Id: RecordId, Name: "" };
    Annotation.Subject = "Quote Report";
    Annotation.NoteText = "Downloaded Today";
    Annotation.FileName = "Quote.pdf";

    var PDFContentBase64 = btoa(unescape(encodeURIComponent(PDFURL)));
    Annotation.DocumentBody = PDFContentBase64;
    Annotation.MimeType = "application/pdf";


     createRecordSync(Annotation,"AnnotationSet");
     }

     function createRecordSync(entityObject, odataSetName) {
     var jsonEntity = window.JSON.stringify(entityObject);
     var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
     var createRecordReq = new XMLHttpRequest();
     var ODataPath = getServerUrl() + ODATA_ENDPOINT;
     createRecordReq.open("POST", ODataPath + "/" + odataSetName, false);
     createRecordReq.setRequestHeader("Accept", "application/json");
    createRecordReq.setRequestHeader("Content-Type", "application/json;   charset=utf-8");
    createRecordReq.send(jsonEntity);
    var newRecord = JSON.parse(createRecordReq.responseText).d;
    return newRecord;
    }
    function getServerUrl() {
        return Xrm.Page.context.getClientUrl()
     }

CRM中的注釋不能包含指向外部資源的鏈接。

您可以將整個PDF轉換為base64,並使用當前使用的方法將其存儲在CRM中,但這似乎不是您正在做的事情( encodeURIComponent (PDFURL)僅對URI進行編碼-實際上並不能獲取PDF本身)。

如果您確實想將整個PDF存儲在CRM中,則需要獲取PDF本身並對其進行base64編碼。

暫無
暫無

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

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