Dig out a drainage sink going straight to the caverns (or aquifer level if you have one) and then open it to the river at the point closest to the corpse. Be sure to build grates to catch the items as they're sucked into the sink by the flowing water, and set up a floodgate to shut it off for collection (and to preserve FPS, and also because items getting dragged by water flow can be a bit iffy, and you might need to shut it off and turn it back on again once or twice to get them into the sink)
If you have an aquifer level this is almost certainly the easiest way of doing it. If you don't, you'll have to compare the effort of digging a drain to the caverns against the effort of building a manual pump-battery.
Diagram for clarity with U being the up stairs, C being the corpse, R the river, F the lever-activated floodgate, - are regular passages and ### a drop-shaft floored with grates extending to aquifer/caverns.
U RRR
### RRR
###-F-CRR
### RRR
RRR
I'd recommend this as the easiest solution; although you don't actually need to drain to the caverns, you just need
enough space for the corpse to get pushed into your reservoir before it fills up. I actually recovered a corpse with something like this:
RRR
........ RRR
U........X^CRR
........ RRR
RRRR for river which flows top-to-bottom, C is corpse, U up-ramp, . is mined out space, X is a lever-controlled floodgate, ^ is the last spot you channel from above after the rest is complete. Open floodgate, corpse
should quickly get pushed into your reservoir, close floodgate. If the reservoir fills completely by the time you close the gate, just channel out more space on the sides to let the water spread out to a safe depth.
It worked for me on the first try (however my river did curve slightly as you can see in the diagram, that might have been lucky), even if it doesn't for whatever reason, you're no worse off than before - can always retry or move to a more complicated recovery method.