A fire at a seven-storey building in an upscale neighbourhood in the Bangladeshi capital of Dhaka killed at least 46 people and injured dozens more late on Thursday, health authorities said.