Visual Basic.NET - Es posible mostrar un fichero sin almacenarlo primero a disco?

 
Vista:

Es posible mostrar un fichero sin almacenarlo primero a disco?

Publicado por OscarTN (3 intervenciones) el 11/06/2014 16:12:13
Buenas tardes a todos

Tengo una duda y no se si es posible hacerlo, tengo el siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim oComando As New SqlCommand("SELECT FileName, FileContent FROM Files WHERE ID = 55", Sqlconexion)
Dim oAdaptador As New SqlDataAdapter(oComando)
Dim otabla As New DataTable
Dim archivo As String = ""
oAdaptador.Fill(otabla)
 
If otabla.Rows.Count = 0 Then
	MsgBox("No hay datos")
Else
	archivo = "C:\Windows\Temp\" + otabla.Rows(0).Item("FileName")
	Dim result As Byte() = otabla.Rows(0).Item("FileContent")
	File.WriteAllBytes(arxiu, result)
	WebBrowser1.Navigate(arxiu)
End If

Me muestra el archivo sea del formato que sea sin problema, el tema es: Es possible llegar a mostrarlo sin tener que guardarlo primero en el disco duro del ordenador??

Muchas gracias

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Es posible mostrar un fichero sin almacenarlo primero a disco?

Publicado por Pico (167 intervenciones) el 11/06/2014 17:37:47
Posible es todo. Hay que ener en cuenta que, en verdad, un programa nunca accede al disco. Cuando un programa necesita algo del disco le pasa a un driver la instrucción, el driver lo carga en la memoria, y el programa lo lee de ahí. Por eso hay funciones para acceder a la memoria que llevan en su nombre algo de file.

El problema es que el programa que carga un archivo pide una ruta a ese archivo, no una dirección de memoria, y de ahí no lo sacas, aunque luego lo que lea sea una dirección de memoria. Así que la mejor solución es crear una unidad en memoria con CreateVirtualDisk (que sólo funciona desde windows 7), aunque creo que con las clases de System.IO.IsolatedStorage del .net también se puede hacer una unidad virtual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar