It's caused by writing to a connection that has already been closed by the peer.
In this case, the peer is either a Web browser or a Web client application.
If the former, there is nothing you can do. The user can cancel the download any time, and that will cause a broken pipe exception.
In the second case, the client application may be at fault.
In either case, there is nothing you can do about it in the server code, except log it and forget about it.