How to make Little Snitch only block the upload traffic, but not the download traffic？ I didn't find a way to do that, please help!
Both uploads and downloads consists of data packets going both in and out of your computer. Therefore you cannot block only one direction and still have a working data transfer.

In rough terms a download works by your computer sending a data packet to the server letting it know you want to download such and such a file. The server will reply with a small part of the data, whereafter it expects your computer to acknowledge that it received that data. If it does not receive the acknowledgement, it assumes the data was lost and tries retransmitting, eventually considering the connection broken.

Little Snitch works (by default) by blocking new connections that are initiated by programs on your computer (i.e. a new connection is when the first data packet is sent from your computer to the remote server). You will be prompted the first time, so that you can allow similar connections in the future. Even though the connection is initiated locally, it can be be either an upload or a download or a mix of both - you cannot determine that by looking only at the first packet sent.

Newer versions of Little Snitch similarly control incoming connections to your computer. Here you'll get the advance prompt only for TCP connections, whereas UDP connections will just be blocked by default, allowing you to remove the block later (for future packets only). Incoming connection filtering like this is not that commonly used, compared to the traditional workings of Little Snitch described above, which is very popular amongst Mac users.