You need to sign in to do that
Don't have an account?
Alex Wong 4
How to rename the attachments in custom objects?
In my application, I create a form for public to fill in thier information. There questions of all require public to insert attachment. The default name of the attachment are the name decidie by public, but it is hard for administraion. Thus, I want to rename it in a meaningful way:
(RecordID)_(UserName)_(DateOfCreate)_(Q).(Format)
RecordID is the name of the record of custom object.
UserName is the data insert by users in the field "Artist_English_Name__c"
DateOfCreate is the date of creating the record of custom object.
Q is the question that the attachment belongs to.
Format is the type of attachment indicated, as I need them for the name conversion in data export.
Because I want to trace back the attachment ie owned by who and which question.
At this stage, I only achieve this ("a002800000i5q8UAAQ_Alex_2016-08-03_Technical_field2.png") by this code:
But I want to achieve this ("a002800000i5q8UAAQ_Alex_2016-08-03_Technical.png").
The whole code for reference:
Thank you.
(RecordID)_(UserName)_(DateOfCreate)_(Q).(Format)
RecordID is the name of the record of custom object.
UserName is the data insert by users in the field "Artist_English_Name__c"
DateOfCreate is the date of creating the record of custom object.
Q is the question that the attachment belongs to.
Format is the type of attachment indicated, as I need them for the name conversion in data export.
Because I want to trace back the attachment ie owned by who and which question.
At this stage, I only achieve this ("a002800000i5q8UAAQ_Alex_2016-08-03_Technical_field2.png") by this code:
objAttachmentt.Name = artist.Id+'_'+artist.Artist_Group_Name_English__c+'_'+String.valueOf(system.today())+'_Technical'+'_'+objAttachmentt.Name;
But I want to achieve this ("a002800000i5q8UAAQ_Alex_2016-08-03_Technical.png").
The whole code for reference:
public class extattachfile { Public attachment objAttachment{get;set;} Public attachment objAttachment2{get; set;} Public attachment objAttachment3{get; set;} Public attachment objAttachmentt{get; set;} Public attachment objAttachments{get; set;} Public Artist__c artist{get; set;} Public extattachfile(apexpages.standardcontroller stdCon) { objAttachment = new Attachment(); objAttachment2 = new Attachment(); objAttachment3 = new Attachment(); objAttachmentt = new Attachment(); objAttachments = new Attachment(); artist= new Artist__c (); } public PageReference save() { Boolean checkAttachment = false; Boolean isValidUrl = true; if(artist.Id == null){ if(artist.Website__c != null){ Pattern emailPattern = Pattern.compile('^((http|https)://)??(www[.])??([a-zA-Z0-9]|-)+?([.][a-zA-Z0-9(-|/|=|?)??]+?)+?$'); Boolean isMatch = emailPattern.matcher(artist.Website__c).matches(); if(!isMatch){ objAttachment.Body = null; objAttachment2.Body = null; objAttachment3.Body = null; objAttachmentt.Body = null; objAttachments.Body = null; ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Please provide a valid Website URL.')); isValidUrl = false; } } if(artist.Facebook__c != null){ Pattern emailPattern = Pattern.compile('^((http|https)://)??(www[.])??([a-zA-Z0-9]|-)+?([.][a-zA-Z0-9(-|/|=|?)??]+?)+?$'); Boolean isMatch = emailPattern.matcher(artist.Facebook__c).matches(); if(!isMatch){ objAttachment.Body = null; objAttachment2.Body = null; objAttachment3.Body = null; objAttachmentt.Body = null; objAttachments.Body = null; ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Please provide a valid Facebook URL.')); isValidUrl = false; } } if(artist.SoundCloud__c != null){ Pattern emailPattern = Pattern.compile('^((http|https)://)??(www[.])??([a-zA-Z0-9]|-)+?([.][a-zA-Z0-9(-|/|=|?)??]+?)+?$'); Boolean isMatch = emailPattern.matcher(artist.SoundCloud__c).matches(); if(!isMatch){ objAttachment.Body = null; objAttachment2.Body = null; objAttachment3.Body = null; objAttachmentt.Body = null; objAttachments.Body = null; ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Please provide a valid Soundcloud URL.')); isValidUrl = false; } } if(artist.YouTube__c != null){ Pattern emailPattern = Pattern.compile('^((http|https)://)??(www[.])??([a-zA-Z0-9]|-)+?([.][a-zA-Z0-9(-|/|=|?)??]+?)+?$'); Boolean isMatch = emailPattern.matcher(artist.YouTube__c).matches(); if(!isMatch){ objAttachment.Body = null; objAttachment2.Body = null; objAttachment3.Body = null; objAttachmentt.Body = null; objAttachments.Body = null; ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Please provide a valid Youtube URL.')); isValidUrl = false; } } if(isValidUrl){ insert artist; }else{ return null; } } List<Attachment> attachmentList = new List<Attachment>(); if(objAttachment.Body != null){ objAttachment.ParentId = artist.id; objAttachment.Name = artist.Id+'_'+artist.Artist_Group_Name_English__c+'_'+String.valueOf(system.today())+'_Photo1'+'_'+objAttachment.Name; attachmentList.add(objAttachment); checkAttachment = true; } if(objAttachment2.Body != null){ objAttachment2.ParentId = artist.id; objAttachment2.Name = artist.Id+'_'+artist.Artist_Group_Name_English__c+'_'+String.valueOf(system.today())+'_Photo2'+'_'+objAttachment2.Name; attachmentList.add(objAttachment2); checkAttachment = true; } if(objAttachment3.Body != null){ objAttachment3.ParentId = artist.id; objAttachment3.Name = artist.Id+'_'+artist.Artist_Group_Name_English__c+'_'+String.valueOf(system.today())+'_Photo3'+'_'+objAttachment3.Name; attachmentList.add(objAttachment3); checkAttachment = true; } List<Attachment> attachmentListother = new List<Attachment>(); if(objAttachmentt.Body != null){ objAttachmentt.ParentId = artist.id; objAttachmentt.Name = artist.Id+'_'+artist.Artist_Group_Name_English__c+'_'+String.valueOf(system.today())+'_Technical'+'_'+objAttachmentt.Name; attachmentList.add(objAttachmentt); } if(objAttachments.Body != null){ objAttachments.ParentId = artist.id; objAttachments.Name = artist.Id+'_'+artist.Artist_Group_Name_English__c+'_'+String.valueOf(system.today())+'_Stage'+'_'+objAttachments.Name; attachmentList.add(objAttachments); } Insert attachmentListother; if(attachmentList.size() > 0 && checkAttachment){ insert attachmentList; attachmentList = null; // if successfully inserted new contact, then displays the thank you page. return Page.ack; }else{ ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Please attach at least one photo attachment.')); return null; } } }
Thank you.
All Answers
objAttachmentt.Name = artist.Id+'_'+artist.Artist_Group_Name_English__c+'_'+String.valueOf(system.today())+'_Technical'+'_'+objAttachmentt.Name;
Seems like you just need to remove the last string concatenation?
objAttachmentt.Name = artist.Id+'_'+artist.Artist_Group_Name_English__c+'_'+String.valueOf(system.today())+'_Technical';