HttpResponse.WriteFile 方法

定義

將指定檔案直接寫入 HTTP 回應輸出資料流。

多載

WriteFile(IntPtr, Int64, Int64)

將指定檔案直接寫入 HTTP 回應輸出資料流。

WriteFile(String, Int64, Int64)

將指定檔案直接寫入 HTTP 回應輸出資料流。

WriteFile(String)

將指定的檔案內容直接寫入 HTTP 回應輸出資料流,做為檔案區塊。

WriteFile(String, Boolean)

將指定的檔案內容直接寫入 HTTP 回應輸出資料流,做為記憶體區塊。

WriteFile(IntPtr, Int64, Int64)

將指定檔案直接寫入 HTTP 回應輸出資料流。

public:
 void WriteFile(IntPtr fileHandle, long offset, long size);
public void WriteFile (IntPtr fileHandle, long offset, long size);
member this.WriteFile : nativeint * int64 * int64 -> unit
Public Sub WriteFile (fileHandle As IntPtr, offset As Long, size As Long)

參數

fileHandle
IntPtr

nativeint

要寫入 HTTP 輸出資料流之檔案的檔案控制代碼 (File Handle)。

offset
Int64

檔案中開始寫入處的位元組位置。

size
Int64

要寫入至輸出資料流的位元組數目。

例外狀況

fileHandlernull

offset 小於 0。

-或-

size 大於檔案大小減去 offset

範例

下列範例會直接將名為 Login.txt (的文字檔內容寫入,其中可能包含常值 HTML 文字和輸入控制項) 至輸出資料流程。

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();

Dim FileName As String
Dim MyFileStream As FileStream
Dim FileHandle As IntPtr
Dim StartPos As Long = 0
Dim FileSize As Long

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()

備註

當此方法與大型檔案搭配使用時,呼叫 方法可能會擲回例外狀況。 可以搭配此方法使用的檔案大小取決於 Web 服務器的硬體組態。

適用於

WriteFile(String, Int64, Int64)

將指定檔案直接寫入 HTTP 回應輸出資料流。

public:
 void WriteFile(System::String ^ filename, long offset, long size);
public void WriteFile (string filename, long offset, long size);
member this.WriteFile : string * int64 * int64 -> unit
Public Sub WriteFile (filename As String, offset As Long, size As Long)

參數

filename
String

要寫入 HTTP 輸出資料流的檔案名稱。

offset
Int64

檔案中開始寫入處的位元組位置。

size
Int64

要寫入至輸出資料流的位元組數目。

例外狀況

offset 小於 0。

-或-

size 大於檔案大小減去 offset

filename 參數為 null

範例

下列範例會將名為 Login.txt (的文字檔的所有內容寫入,其中可能包含常值文字和 HTML 輸入控制項,) 直接寫入輸出資料流程。

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);

Dim FileName As String
 Dim MyFileInfo As FileInfo
 Dim StartPos, FileSize As Long
 
 FileName = "c:\\temp\\login.txt"
 MyFileInfo = New FileInfo(FileName)
 FileSize = MyFileInfo.Length 
 
 Response.Write("Please Login: <br>")
 Response.WriteFile(FileName, StartPos, FileSize)
    

備註

當此方法與大型檔案搭配使用時,呼叫 方法可能會擲回例外狀況。 可以搭配此方法使用的檔案大小取決於 Web 服務器的硬體組態。

適用於

WriteFile(String)

將指定的檔案內容直接寫入 HTTP 回應輸出資料流,做為檔案區塊。

public:
 void WriteFile(System::String ^ filename);
public void WriteFile (string filename);
member this.WriteFile : string -> unit
Public Sub WriteFile (filename As String)

參數

filename
String

要寫入 HTTP 輸出的檔案名稱。

例外狀況

filename 參數為 null

範例

下列範例會直接將名為 Login.txt (的文字檔內容寫入,其中可能包含常值 HTML 文字和輸入控制項) 至輸出資料流程。

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

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

備註

當此方法與大型檔案搭配使用時,呼叫 方法可能會擲回例外狀況。 可以搭配此方法使用的檔案大小取決於 Web 服務器的硬體組態。

適用於

WriteFile(String, Boolean)

將指定的檔案內容直接寫入 HTTP 回應輸出資料流,做為記憶體區塊。

public:
 void WriteFile(System::String ^ filename, bool readIntoMemory);
public void WriteFile (string filename, bool readIntoMemory);
member this.WriteFile : string * bool -> unit
Public Sub WriteFile (filename As String, readIntoMemory As Boolean)

參數

filename
String

要寫入記憶體區塊的檔案名稱。

readIntoMemory
Boolean

指示檔案將是否被寫入記憶體區塊。

例外狀況

filename 參數為 null

範例

下列範例會將檔案寫入記憶體。

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

Response.WriteFile("login.txt", True)
    

備註

當此方法與大型檔案搭配使用時,呼叫 方法可能會擲回例外狀況。 可以搭配此方法使用的檔案大小取決於 Web 服務器的硬體組態。

適用於