UPDATE: The original solution only works on Desktop
Updated implementation via CloudCode works across all platforms
View JS
function preViewImageDirect() {
var params = {
url: "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
}
var data = CloudCode.callTask('getData', params)
var attachment = Attachment.create({
filename: "example.pdf",
mediaType: "application/pdf",
base64: data
});
journey.files.viewFile(attachment);
}
CloudCode
export async function run(params) {
// Your code here
var url = params && params.url ? params.url : "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf";
var response = await fetch(url, {method: "GET", mode: 'no-cors'});
var buffer = await response.buffer();
// return data
return buffer.toString('base64');
}