#426 Ensure upload directory exists