If you want to retain your fileupload control inside updatepanel try adding Page.Form.Attributes.Add("enctype", "multipart/form-data") under Page_Load and have a PostBackTrigger for the upload button.
but if you don't want to do that just move ur fileupload control outside the panel so that when the dropdown performs a postback your fileupload will not be affected. part of implementation of microsoft for some security reason is that when page postback the values in ur fileupload control needs to reset.
refer here
fileupload control
code behind
protected void Page_Load(object sender, EventArgs e)
{
this.Page.Form.Attributes.Add("enctype", "multipart/form-data");
}
in ui
<asp:updatepanel xmlns:asp="#unknown">
<contenttemplate>
......
</contenttemplate>
<triggers>
<asp:postbacktrigger controlid="btnUpload" />
</triggers>
</asp:updatepanel>