The 22-year-old, who netted 20 times last season with Dagenham and then Darren Ferguson's Posh, has signed a four-year contract with the newly promoted Barclays Premier League side.
"I'm ecstatic really, I just want to get pre-season started now," he told Palace's official website.
"The chance came and I had to grab it because I might not get another chance. To be playing in the Premier League from where I've come from is a big achievement really.
"I'm just really looking forward to it and hopefully I can take the opportunity with both hands and do well."