Support multiple upload

- only supports files under the same parent directory
- support upload via drag/drop and QFileDialog