Problemita con <INPUT type=FILE

Riu

Mi objetivo es Cojer la Ruta donde se encuentra el archivo pero sin subirlo a la web.
Mi problema al darle a sumbit para obtener la ruta me carga el archivo a la carpeta temporal de la web.
Solucion?¿?
uso este codigo para obtener la ruta.

ASP & HTML
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!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">

</head>
<body>
<form runat="server" enctype="multipart/form-data" method="post" action="Default.aspx" style="table-layout:inherit">
<asp:FileUpload ID="FileUpload1" runat="server" Style="position: static" />
<br>
<asp:Button ID="Button1" runat="server" Style="position: static" Text="Button" />
<br>
<asp:TextBox ID="TextBox1" runat="server" Style="position: static"></asp:TextBox>

</form>
</body>
</html>

VISUAL BASIC

Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim a As String = io.Path.GetFullPath(Me.FileUpload1.FileName)
    Me.TextBox1.Text = a

End Sub

End Class

Hasta ahi todo bien, pero como hago para que no carge el archivo , estoy bastante negro por averiguar si es posible esto o soy un puto anormal que esta perdiendo el tiempo por que no es posible esto.

cabron

A ver, Input file, le dice al Navegador "envía este archivo al servidor, que el sabrá que hacer con él", vamos, que lo hace el navegador automáticamente, no lo puedes evitar mediante código en tu servidor.

Lo más lógico sería usar una caja de texto, pero supongo que el motivo por el que metes un input file, es por que no quieres que haya que escribir el nombre del archivo, y que se pueda elegir gráficamente con la ventana que te abre el input file.

Si solo quieres el nombre, pues tira de JavaScript. Pon el InputFile fuera del formulario, para que el navegador no envíe el archivo al hacer un submit, y dentro del formulario, te creas un input hidden, al que le pasas el nombre del archivo del Input file cuando el tío haga submit.

Riu

#2 lo intente pero a la hora de llamar al inputfile de fuera del formulario no se abre o no lo hago bien, estoy ya negrisimo por esto.. alguno tiene la solucion..

cabron

"a la hora de llamar al inputfile de fuera del formulario no se abre "

¿A que te refieres exactamente? ¿A que cuando aprietas el botón no aparece la ventana de selección de archivos?

<form>
blab bla bla
</form>

<input type="file" name="miInputFile">

Una cosa así funciona sin problemas.

Usuarios habituales

  • cabron
  • Riu