Foros del Web » Programando para Internet » ASPX (.net) »

Abrir archivo cargado al servidor

Estas en el tema de Abrir archivo cargado al servidor en el foro de ASPX (.net) en Foros del Web. Que tal foreros!! Tengo una aplicación en .NET, y dentro de ella, al crear una factura, el usuario puede cargar un archivo cualquiera que es ...
  #1 (permalink)  
Antiguo 12/02/2007, 13:18
 
Fecha de Ingreso: febrero-2007
Mensajes: 32
Antigüedad: 17 años, 2 meses
Puntos: 0
Pregunta Abrir archivo cargado al servidor

Que tal foreros!!

Tengo una aplicación en .NET, y dentro de ella, al crear una factura, el usuario puede cargar un archivo cualquiera que es salvado en el servidor, hasta ahi todo va bien. El problema es cuando el usuario consulta esa factura, pues desea visualizar el archivo que se adjunto previamente; al descargarlo y guardarlo unciona perfectamente, pero cuando le doy click y aparece la ventana de confirmación "Abrir - Guardar - Cancelar" y le doy directamente Abrir, me dice qe el archivo no fue encontrato en "Local Settings/Temporary Internet Files..etc.." Sabra alguien a que se deba??

el codigo que uso para descar mi archivo es:


Private Sub BajaPDF(ByVal FileName As String)
'FileName es la ruta del archivo con el nombre del archivo y su extension..
Dim fileStream As New FileStream(FileName, FileMode.Open)
Dim fileSize As Long = fileStream.Length
Dim inta As Integer = CInt(fileSize)

Context.Response.ContentType = "application/octet-stream"
Context.Response.AddHeader("Content-Disposition", "attachment; filename=" & HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8))
Context.Response.AddHeader("Content-Length", fileSize.ToString())
Dim fileBuffer(inta) As Byte
fileStream.Read(fileBuffer, 0, inta)
fileStream.Close()
Context.Response.BinaryWrite(fileBuffer)
Context.Response.End()

End Sub
  #2 (permalink)  
Antiguo 12/02/2007, 18:27
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Re: Abrir archivo cargado al servidor

Mejor intentalo de ésta forma:

Cita:
...
...
Dim fiLoaded As New FileInfo(FileName)
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" & fiLoaded.Name)
Response.AddHeader("Content-Length", fiLoaded.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.WriteFile(fiLoaded.FullName)
Response.End()
ahora que si ésto no te funciona hay que echarle un ojo a la parte de donde guardas tu archivo.

SAlu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 12/02/2007, 19:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 32
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Abrir archivo cargado al servidor

Hola!!

Fijate que use la sugerencia que me brindaste, pero sigue funcionando igual



El codigo con el que lo guardo es:


Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Dim strFileName As String
Dim fecha_nombre As String
Dim ruta_archivos As String = "C:\Inetpub\wwwroot\SisFac_Pruebas\Archivos\"

If Not (File1.PostedFile Is Nothing) Then

' Este es un algoritmo para concatenar al nombre del archivo, ciertos parametros para hacer que el archivo sea siempre unico
fecha_nombre = Date.Now
If Date.Now.Hour < 10 Then
fecha_nombre = fecha_nombre.Replace(" ", "0")
End If
fecha_nombre = fecha_nombre.Replace(" ", "")
fecha_nombre = fecha_nombre.Replace("/", "")
fecha_nombre = fecha_nombre.Replace(":", "")
fecha_nombre = fecha_nombre.Replace("p.m.", "")
fecha_nombre = fecha_nombre.Replace("a.m.", "")
fecha_nombre = fecha_nombre & "_"

If File1.Value <> Nothing Then
strFileName = File1.Value.Trim().Substring(File1.Value.Trim().La stIndexOf("\") + 1)
File1.PostedFile.SaveAs((ruta_archivos & fecha_nombre & strFileName))
End If

End If
End Sub


¿Cómo ves ese código?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:13.