Such a hide event is not available at the moment. We have had such an idea for a while and I exposed it in our feedback portal for your convenience. You can track it, leave your vote or comment here: http://feedback.telerik.com/Project/108/Feedback/Details/137751-add-new-hide-event-for-the-radtooltip-onoutsideclick.
- use the OnClientShow event to attach a handler to the body click event
- check if the mouse is over the tooltip (see the $telerik.isMouseOverElementEx() method from our static client library: http://www.telerik.com/help/aspnet-ajax/telerik-static-client-library.html)
- you can get the currently active tooltip as shown here: http://www.telerik.com/help/aspnet-ajax/tooltip-client-side-overview.html.
- use the OnClientHide event to remove the body handler if you like, to reduce the code executed on each user action
- set the HideEvent to FromCode so the tooltip does not hide automatically
I would also like to note that when AJAX is used to fetch the tooltip content, those contents are inside an asp:UpdatePanel with UpdateMode=Conditional. To upload a file you need a full postback, so you would need to implement it yourself (e.g., by calling the __doPostBack() function).
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.