File tree Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -115,6 +115,8 @@ $A.get("e.force:refreshView").fire();
115
115
compound fields. I will update this section as I do so.
116
116
- To insert ` ContentVersion ` make sure to set ` VersionData ` to base64 data.
117
117
Refer to the example [ here] ( ./scripts/jsButton/createContactFiles.js ) for details.
118
+ - The maximum size of files I was able to upload was around 2 MB.
119
+ Anything larger will fail silently due to heap size limits in Apex
118
120
119
121
### Using Salesforce (and other) APIs in your script
120
122
Original file line number Diff line number Diff line change
1
+ /* Go to https://cors-anywhere.herokuapp.com/ and request access to the demo for the below `fetch` statement to work */
2
+ /* Also add https://cors-anywhere.herokuapp.com/ to CSP trusted sites list */
3
+ let respBlob = await fetch (
4
+ "https://cors-anywhere.herokuapp.com/https://www.eurofound.europa.eu/sites/default/files/ef_publication/field_ef_document/ef1663en.pdf"
5
+ ) . then ( ( resp ) => resp . blob ( ) ) ;
6
+
7
+ const blobToBase64 = ( blob ) => {
8
+ return new Promise ( ( resolve , reject ) => {
9
+ try {
10
+ const reader = new FileReader ( ) ;
11
+ reader . readAsDataURL ( blob ) ;
12
+ reader . onloadend = function ( ) {
13
+ let base64data = reader . result ;
14
+ debugger ;
15
+ resolve ( base64data . substring ( base64data . indexOf ( "," ) + 1 ) ) ;
16
+ } ;
17
+ } catch ( e ) {
18
+ reject ( e ) ;
19
+ }
20
+ } ) ;
21
+ } ;
22
+
23
+ let base64data = await blobToBase64 ( respBlob ) ;
24
+ let cv = [
25
+ {
26
+ Title : "SF.pdf" ,
27
+ VersionData : base64data ,
28
+ PathOnClient : "Salesforce.pdf" ,
29
+ FirstPublishLocationId : recordId
30
+ }
31
+ ] ;
32
+ let fileIds = await dml . insert ( cv , "ContentVersion" ) ;
33
+ console . log ( "file ids" , fileIds ) ;
34
+ toast ( "File added" , "success" ) ;
35
+ $A . get ( "e.force:refreshView" ) . fire ( ) ;
You can’t perform that action at this time.
0 commit comments