Salesforce Asked by Vladimir K. on December 21, 2020
I am developing a visualforce page. I’m trying to upload pdf-file from remote server in contentversion , here is part of my code:
let response = await fetch('http://www.africau.edu/images/default/sample.pdf');
let blob = await response.blob();
let filename = 'File.pdf';
let _file = new File([blob], filename);
let cv = new sforce.SObject('ContentVersion');
cv.Title = filename;
cv.PathOnClient = filename;
cv.VersionData = blob;
cv.VersionData = cv.VersionData.substring(dataStart);
cv.ContentLocation = 'S';
let result = await sforce.connection.create([cv]);
console.log('result > ', result);
But file in ContentVersion is wrong.
Any ideas?
Upd.: an interesting thing: if I’ll set js debugs and try to download file locally (not to sf) – then I can do it. But only with debug points
You have to make sure that the VersionData has base64 encoded string for the file.
Add one more function to convertBlobtoBase64
export const convertBlobToBase64 = blob => new Promise((resolve, reject) => {
const reader = new FileReader;
reader.onerror = reject;
reader.onload = () => {
resolve(reader.result);
};
reader.readAsDataURL(blob);
});
Then modify your code to
let response = await
fetch('http://www.africau.edu/images/default/sample.pdf');
let blob = await response.blob()
.then(convertBlobToBase64)
.then((result) => {
fileContent = result;
const base64Constant = 'base64,';
const base64ImageValue =
fileContent.indexOf(base64Constant) + base64Constant.length;
this.base64Data = fileContent.substring(base64ImageValue);
let cv = new sforce.SObject('ContentVersion');
cv.Title = filename;
cv.PathOnClient = filename;
cv.VersionData = blob;
cv.VersionData = cv.VersionData.substring(dataStart);
cv.ContentLocation = 'S';
let result = await sforce.connection.create([cv]);
console.log('result > ', result);
});
You can then use the Base64 encoded string in versionData
Answered by Mohith Shrivastava on December 21, 2020
1 Asked on September 13, 2020 by deployment-failure
3 Asked on September 8, 2020 by mvk1991
1 Asked on September 6, 2020 by vivian
1 Asked on September 5, 2020 by 84079616ytreza
dynamic apex dynamic vf component dynamic visualforce visualforce
1 Asked on September 2, 2020 by carl-johan-beurling
apex contentdocument contentversion custom object lightning web components
2 Asked on August 25, 2020 by salesforce-developer
marketing cloud marketing cloud connect marketing cloud connector marketingcloudapi sfmc business unit
0 Asked on August 21, 2020 by divya
2 Asked on August 17, 2020
1 Asked on August 14, 2020 by mohammed-aiyaz
0 Asked on August 12, 2020 by sid-fortunato
1 Asked on August 11, 2020 by ajfmo
1 Asked on August 5, 2020 by rob-cowell
2 Asked on July 26, 2020 by clyde-w
1 Asked on July 24, 2020 by user52080
2 Asked on July 24, 2020 by ayub
0 Asked on July 21, 2020 by bo-wang
Get help from others!
Recent Answers
© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP