mira lo que se me ocurre es algo por el estilo
colocas un input file con el estilo en visibility:hidden y mediante un java script lo puedes invocar una vez hecho esto lo que puedes hacer es recuperar el path de tu archivo en una variable y despues de tus debidas validaciones cambiar tu imagen por otra con el texto de guardar ahora o algo por el estilo. como sea aqui te dejo un ejemplo del como lo haria yo.
la primer parte de la magia la haces con javaScript y html y te quedaria algo asi:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript">
function ActiveFileUpload() {
var filehide = document.getElementById('HideFile');
filehide.click();
if (filehide.value.length > 0) {
document.getElementById('upload').style.visibility = 'visible';
document.getElementById('img_Path').style.visibility = 'hidden';
document.getElementById('lbruta').innerHTML = filehide.value.toString();
}
}
</script>
<style>
.hide{
visibility:hidden;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<a id="img_Path" onclick="ActiveFileUpload();"><img src="Images/Onion.jpg" alt="Activar"/></a>
<asp:ImageButton ID="upload" runat="server"
ImageUrl="~/Images/Onion2.jpg" CssClass="hide" />
<input id = "HideFile" style="visibility:hidden;" type="file" runat="server" />
<asp:Label ID="lbruta" runat="server" ></asp:Label>
</div>
</form>
</body>
</html>
la segunda parte que es la de subir el archivo al servidor la resuelves con ASP y te quedaria algo asi:
Código:
Private Sub Cmd_Subir_Archivo_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs)
Dim Ext As String = LCase(System.IO.Path.GetExtension(HideFile.PostedFile.FileName))
Dim Ruta = "Temp\" & System.IO.Path.GetFileName(HideFile.PostedFile.FileName)
'Adjuntamos el Objeto Obtenido mediante el File Upload
HideFile.PostedFile.SaveAs(Ruta)
End Sub
ahi me avisas como te fue! esto sirve y pues es lo mas rapido que se me ocurrio..
si quieres el ejemplo de lo que hice contactame y te lo mando con mucho gusto por correo suerte y espero te sirva