[英]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.