HttpResponse.WriteFile Método

Definición

Escribe el archivo especificado directamente en un flujo de salida de respuesta HTTP.

Sobrecargas

WriteFile(IntPtr, Int64, Int64)

Escribe el archivo especificado directamente en un flujo de salida de respuesta HTTP.

WriteFile(String, Int64, Int64)

Escribe el archivo especificado directamente en un flujo de salida de respuesta HTTP.

WriteFile(String)

Escribe el contenido del archivo especificado directamente en un flujo de salida de respuesta HTTP como un bloque de archivos.

WriteFile(String, Boolean)

Escribe el contenido del archivo especificado directamente en un flujo de salida de respuesta HTTP como un bloque de memoria.

WriteFile(IntPtr, Int64, Int64)

Escribe el archivo especificado directamente en un flujo de salida de respuesta HTTP.

C#
public void WriteFile (IntPtr fileHandle, long offset, long size);

Parámetros

fileHandle
IntPtr

Identificador del archivo que se escribirá en el flujo de salida HTTP.

offset
Int64

Posición del byte en el archivo donde se iniciará la escritura.

size
Int64

Número de bytes que se va a escribir en el flujo de salida.

Excepciones

fileHandler es null.

offset es menor que 0.

O bien

size es mayor que el tamaño de archivo menos offset.

Ejemplos

En el ejemplo siguiente se escribe todo el contenido de un archivo de texto denominado Login.txt (que puede contener controles de entrada y texto HTML literales) directamente en el flujo de salida.

C#
String FileName;
 FileStream MyFileStream;
 IntPtr FileHandle;
 long StartPos = 0, FileSize;

 FileName = "c:\\temp\\Login.txt";

 MyFileStream = new FileStream(FileName, FileMode.Open);
 FileHandle = MyFileStream.Handle;
 FileSize = MyFileStream.Length;

 Response.Write("<b>Login: </b>");
 Response.Write("<input type=text id=user /> ");
 Response.Write("<input type=submit value=Submit /><br><br>");

 Response.WriteFile(FileHandle, StartPos, FileSize);

 MyFileStream.Close();

Comentarios

Cuando este método se usa con archivos grandes, llamar al método podría producir una excepción. El tamaño del archivo que se puede usar con este método depende de la configuración de hardware del servidor web.

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

WriteFile(String, Int64, Int64)

Escribe el archivo especificado directamente en un flujo de salida de respuesta HTTP.

C#
public void WriteFile (string filename, long offset, long size);

Parámetros

filename
String

Nombre del archivo que se escribirá en el flujo de salida HTTP.

offset
Int64

Posición en el archivo donde se iniciará la escritura.

size
Int64

Número de bytes que se va a escribir en el flujo de salida.

Excepciones

offset es menor que 0.

O bien

El valor size es mayor que el tamaño de archivo menos offset.

El parámetro filename es null.

Ejemplos

En el ejemplo siguiente se escribe todo el contenido de un archivo de texto denominado Login.txt (que podría contener controles de entrada HTML y texto literal) directamente en el flujo de salida.

C#
String FileName;
 FileInfo MyFileInfo;
 long StartPos = 0, FileSize;

 FileName = "c:\\temp\\login.txt";
 MyFileInfo = new FileInfo(FileName);
 FileSize = MyFileInfo.Length;

 Response.Write("Please Login: <br>");
 Response.WriteFile(FileName, StartPos, FileSize);

Comentarios

Cuando este método se usa con archivos grandes, llamar al método podría producir una excepción. El tamaño del archivo que se puede usar con este método depende de la configuración de hardware del servidor web.

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

WriteFile(String)

Escribe el contenido del archivo especificado directamente en un flujo de salida de respuesta HTTP como un bloque de archivos.

C#
public void WriteFile (string filename);

Parámetros

filename
String

Nombre del archivo que se escribirá en la salida HTTP.

Excepciones

El parámetro filename es null.

Ejemplos

En el ejemplo siguiente se escribe todo el contenido de un archivo de texto denominado Login.txt (que puede contener controles de entrada y texto HTML literales) directamente en el flujo de salida.

C#
Response.Write("Please Login: <br>");
 Response.WriteFile("login.txt");

Comentarios

Cuando este método se usa con archivos grandes, llamar al método podría producir una excepción. El tamaño del archivo que se puede usar con este método depende de la configuración de hardware del servidor web.

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

WriteFile(String, Boolean)

Escribe el contenido del archivo especificado directamente en un flujo de salida de respuesta HTTP como un bloque de memoria.

C#
public void WriteFile (string filename, bool readIntoMemory);

Parámetros

filename
String

Nombre del archivo que se escribirá en un bloque de memoria.

readIntoMemory
Boolean

Indica si el archivo se va a escribir en un bloque de memoria.

Excepciones

El parámetro filename es null.

Ejemplos

En el ejemplo siguiente se escribe un archivo en la memoria.

C#
Response.WriteFile("login.txt", true);

Comentarios

Cuando este método se usa con archivos grandes, llamar al método podría producir una excepción. El tamaño del archivo que se puede usar con este método depende de la configuración de hardware del servidor web.

Se aplica a

.NET Framework 4.8.1 y otras versiones
Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1