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 回應輸出資料流。

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

參數

fileHandle
IntPtr

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

offset
Int64

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

size
Int64

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

例外狀況

fileHandlernull

offset 小於 0。

-或-

size 大於檔案大小減去 offset

範例

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

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

備註

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

適用於

.NET Framework 4.8.1 及其他版本
產品 版本
.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)

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

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

參數

filename
String

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

offset
Int64

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

size
Int64

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

例外狀況

offset 小於 0。

-或-

size 大於檔案大小減去 offset

filename 參數為 null

範例

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

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

備註

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

適用於

.NET Framework 4.8.1 及其他版本
產品 版本
.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)

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

C#
public void WriteFile (string filename);

參數

filename
String

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

例外狀況

filename 參數為 null

範例

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

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

備註

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

適用於

.NET Framework 4.8.1 及其他版本
產品 版本
.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)

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

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

參數

filename
String

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

readIntoMemory
Boolean

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

例外狀況

filename 參數為 null

範例

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

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

備註

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

適用於

.NET Framework 4.8.1 及其他版本
產品 版本
.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