create directories on demand, but only on upload