You need to sign in to do that
Don't have an account?
DJ 367
attach file based on system url
Hello All,
I have a excel sheet in which I have following columns AccountName,AccountNumber,Type,Industry,Filelocation
whenever I am importing a record a new account to be created with attachment(attachment should be from location mentioned in the excel sheet)
for example I have this data whenever I click on import button it should insert the account with attachment located in the
C:\AccountFile.
Can someone please help me to achieve this, I have inserted the record but not able to attach file to the account.
my code is here
controller
Thanks
I have a excel sheet in which I have following columns AccountName,AccountNumber,Type,Industry,Filelocation
whenever I am importing a record a new account to be created with attachment(attachment should be from location mentioned in the excel sheet)
for example I have this data whenever I click on import button it should insert the account with attachment located in the
C:\AccountFile.
Can someone please help me to achieve this, I have inserted the record but not able to attach file to the account.
my code is here
<apex:page controller="importDataFromCSVController"> <apex:form > <apex:pagemessages /> <apex:pageBlock > <apex:pageBlockSection columns="4"> <apex:inputFile value="{!csvFileBody}" filename="{!csvAsString}"/> <apex:commandButton value="Import Account" action="{!importCSVFile}"/> </apex:pageBlockSection> </apex:pageBlock> <apex:pageBlock > <apex:pageblocktable value="{!accList}" var="acc"> <apex:column value="{!acc.name}" /> <apex:column value="{!acc.AccountNumber}" /> <apex:column value="{!acc.Type}" /> <apex:column value="{!acc.Accountsource}" /> <apex:column value="{!acc.Industry }" /> </apex:pageblocktable> </apex:pageBlock> </apex:form> </apex:page>
controller
public class importDataFromCSVController { public Blob csvFileBody{get;set;} public string csvAsString{get;set;} public String[] csvFileLines{get;set;} public List<account> acclist{get;set;} public importDataFromCSVController(){ csvFileLines = new String[]{}; acclist = New List<Account>(); } public void importCSVFile(){ try{ csvAsString = csvFileBody.toString(); csvFileLines = csvAsString.split('\n'); for(Integer i=1;i<csvFileLines.size();i++){ Account accObj = new Account() ; string[] csvRecordData = csvFileLines[i].split(','); accObj.name = csvRecordData[0] ; accObj.accountnumber = csvRecordData[1]; accObj.Type = csvRecordData[2]; accObj.AccountSource = csvRecordData[3]; accObj.Industry = csvRecordData[4]; acclist.add(accObj); } //insert acclist; } catch (Exception e) { ApexPages.Message errorMessage = new ApexPages.Message(ApexPages.severity.ERROR,'An error has occured while importin data Please make sure input csv file is correct'); ApexPages.addMessage(errorMessage); } } }
Thanks
Please find the detailed explanation with example here : https://blog.jeffdouglas.com/2010/04/28/uploading-an-attachment-using-visualforce-and-a-custom-controller/.
Please mark this as SOLVED if it had helped you. Thanks!
Regards,
Krishna Avva
Thanks for your reply but this is not what I am looking for.
Here is my controller which adding the attachment to the record , however attached file is just a simple string rather than file .
Will really appreciate you if you can help me to resolve this. Thanks