Hey guys, In this post we are going to learn about how to upload files in Salesforce lightning component.
In this example we will attached the files from Custom sObject by help of wrapper apex class in lightning component.
Files we used in this post example:-
File Name | File Type | Description |
---|---|---|
uploadAttachmentCmp.cmp | Lightning Component | It is used to user interface display upload button and toast success message on browser. |
uploadAttachmentCmpConroller.js | JavaScript Controller File | It is used for client side javascript function that is communicate to apex class method. |
uploadFileController.apxc | Apex Class Controller | Upload the file into database server |
Custom Object:- childObjTrigger__c
|
Custom Object | Upload the attachment files on custom sObject Files & Attechment section. |
Final Output
Other related post that would you like to learn in Salesforce
Note:- Custom sObject >> childObjTrigger__c
You need to change custom sObject name with your custom sObject name.
Step 1:- Create Lightning Component : uploadAttachmentCmp.cmp
From Developer Console >> File >> New >> Lightning Component
uploadAttachmentCmp.cmp [Lightning Component File]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
<aura:component controller="uploadFileController" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" > <aura:attribute name="wrapListItems" type="childObjTrigger__c[]"/> <aura:handler name="init" value="{!this}" action="{!c.doInit}"/> <aura:attribute name="accept" type="List" default="['.jpg', '.jpeg','.pdf']"/> <aura:attribute name="multiple" type="Boolean" default="true"/> <aura:attribute name="disabled" type="Boolean" default="false"/> <div class="slds"> <table class="slds-table slds-table--bordered slds-table--col-bordered" style="border-collapse:collapse;"> <thead> <tr> <th>Attachment</th> </tr> </thead> <tbody> <aura:iteration items="{!v.wrapListItems}" var="childObjVar" indexVar="index"> <tr id="{!childObjVar.recordId}"> <td> <lightning:fileUpload multiple="{!v.multiple}" accept="{!v.accept}" recordId="{!childObjVar.recordId}" onuploadfinished="{!c.uploadFileAction}" disabled="{!v.disabled}"/> </td> </tr> </aura:iteration> </tbody> </table> <br/><br/> <!--Start RelatedTopics Section--> <div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;"> <p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/05/thumbsUpLike.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:16px; font-style:italic; display:inline-block; margin-right:5px;">Don't forget to check out:-</span><a href="https://www.w3web.net/" target="_blank" rel="noopener noreferrer" style="text-decoration:none;" data-aura-rendered-by="440:0">An easy way to learn step-by-step online free Salesforce tutorial, To know more Click <span style="color:#ff8000; font-size:18px;" data-aura-rendered-by="442:0">Here..</span></a></strong></p> <br/><br/> <p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/07/tickMarkIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:17px; font-style:italic; display:inline-block; margin-right:5px; color:rgb(255 128 0);">You May Also Like →</span> </strong></p> <div style="display:block; overflow:hidden;"> <div style="width: 50%; float:left; display:inline-block"> <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> <li><a href="https://www.w3web.net/lwc-get-set-lightning-checkbox-value/" target="_blank" rel="noopener noreferrer">How to get selected checkbox value in lwc</a></li> <li><a href="https://www.w3web.net/display-account-related-contacts-in-lwc/" target="_blank" rel="noopener noreferrer">how to display account related contacts based on AccountId in lwc</a></li> <li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to create lightning datatable row actions in lwc</a></li> <li><a href="https://www.w3web.net/if-and-else-condition-in-lwc/" target="_blank" rel="noopener noreferrer">how to use if and else condition in lwc</a></li> <li><a href="https://www.w3web.net/get-selected-radio-button-value-and-checked-default-in-lwc/" target="_blank" rel="noopener noreferrer">how to display selected radio button value in lwc</a></li> </ul> </div> <div style="width: 50%; float:left; display:inline-block"> <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> <li><a href="https://www.w3web.net/display-account-related-contacts-lwc/" target="_blank" rel="noopener noreferrer">display account related contacts based on account name in lwc</a></li> <li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to insert a record of account Using apex class in LWC</a></li> <li><a href="https://www.w3web.net/fetch-picklist-values-dynamic-in-lwc/" target="_blank" rel="noopener noreferrer">how to get picklist values dynamically in lwc</a></li> <li><a href="https://www.w3web.net/edit-save-and-remove-rows-dynamically-in-lightning-component/" target="_blank" rel="noopener noreferrer">how to edit/save row dynamically in lightning component</a></li> <li><a href="https://www.w3web.net/update-parent-object-from-child/" target="_blank" rel="noopener noreferrer">update parent field from child using apex trigger</a></li> </ul> </div> <div style="clear:both;"></div> <br/> <div class="youtubeIcon"> <a href="https://www.youtube.com/channel/UCW62gTen2zniILj9xE6LmOg" target="_blank" rel="noopener noreferrer"><img src="https://www.w3web.net/wp-content/uploads/2021/11/youtubeIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;"/> <strong>TechW3web:-</strong> To know more, Use this <span style="color: #ff8000; font-weight: bold;">Link</span> </a> </div> </div> </div> <!--End RelatedTopics Section--> </div> </aura:component> |
Step 2:- Create Lightning Component : uploadAttachmentCmpController.js
From Developer Console >> File >> New >> Lightning Component >> JavaScript Controller
uploadAttachmentCmpController.js [JavaScript Controller]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
({ doInit : function(component, event, helper) { var action = component.get("c.childObjWrapMethod"); action.setCallback(this, function(response){ var state = response.getState(); if(state=='SUCCESS'){ var result = response.getReturnValue(); component.set('v.wrapListItems',result); } }); $A.enqueueAction(action); }, uploadFileAction : function(component, event, helper) { var uploadedFiles = event.getParam("files"); var documentId = uploadedFiles[0].documentId; var fileName = uploadedFiles[0].name; var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Success!", "type": "success", "message": "File "+fileName+" Uploaded successfully." }); toastEvent.fire(); $A.get('e.force:refreshView').fire(); }, }) |
Step 3:- Create Lightning Application : uploadFileController.apxc
From Developer Console >> File >> New >> Apex Class
uploadFileController.apxc [Apex Class Controller]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class cloneFilesFromOldCaseToNew { public class wrapperChildObjClass{ @AuraEnabled public Id recordId; public wrapperChildObjClass(Id recordId){ this.recordId = recordId; } } @AuraEnabled public static List<wrapperChildObjClass> childObjWrapMethod(){ List<wrapperChildObjClass> wrapObj = new List<wrapperChildObjClass>(); List<childObjTrigger__c> childObjList = [Select Id, Name From childObjTrigger__c limit 1]; for(childObjTrigger__c childObjWrp: childObjList){ wrapObj.add(new wrapperChildObjClass(childObjWrp.Id)); } return wrapObj; } } |
Further post that would you like to learn in Salesforce
How do I upload files to Salesforce?
Enable the preference to upload files as Salesforce Files in Salesforce Classic in Setup. Type Salesforce Files in the Quick Find box, select General Settings, and then click Files uploaded to the Attachments related list on records are uploaded as Salesforce Files, not as attachments.
How do you display an image from static resources in the lightning component?
We can use $Resource. resourceName within an expression. resourceName is the Name of the static resource.
What is ParentId in Attachment Salesforce?
A ParentId is the 18-character Salesforcer Id of the record that the attachment belongs to. To get started creating and updating attachments, first, load the {salesforcer} and {dplyr} packages and login, if needed.
Related Topics | You May Also Like
- Your reaction of the article ▾
nice its very helpfull…!!!!!
Good Information about the topic
In this blog I get a great post sir please also visit my blog I post great content
your post is nice & I really loved reading your post.
Great Thanks for sharing awesome info. It was very well authored and easy to understand.
Great Info Topic
5 Internet Approval Site (Do Follow Backlinks)
Very Its Helpful
Great Info Topic…
Amazing article, and I have learned a lot