当response支持持续写入时,会直接回复响应。并阻塞执行,直到完成。所以在执行该方法之前,请确保已设置完成所有状态字
当response不支持持续写入时,会填充Content,且不会响应,需要自己执行Build,并发送。
public static Task FromFileAsync(
	this HttpContext context,
	FileInfo fileInfo,
	string fileName = null,
	int maxSpeed = 2147483647,
	int bufferLen = 65536,
	bool autoGzip = true
)<ExtensionAttribute>
Public Shared Function FromFileAsync ( 
	context As HttpContext,
	fileInfo As FileInfo,
	Optional fileName As String = Nothing,
	Optional maxSpeed As Integer = 2147483647,
	Optional bufferLen As Integer = 65536,
	Optional autoGzip As Boolean = true
) As Task[<ExtensionAttribute>]
static member FromFileAsync : 
        context : HttpContext * 
        fileInfo : FileInfo * 
        ?fileName : string * 
        ?maxSpeed : int * 
        ?bufferLen : int * 
        ?autoGzip : bool 
(* Defaults:
        let _fileName = defaultArg fileName null
        let _maxSpeed = defaultArg maxSpeed 2147483647
        let _bufferLen = defaultArg bufferLen 65536
        let _autoGzip = defaultArg autoGzip true
*)
-> Task [缺少 "M:TouchSocket.Http.HttpExtensions.FromFileAsync(TouchSocket.Http.HttpContext,System.IO.FileInfo,System.String,System.Int32,System.Int32,System.Boolean)" 的 <returns> 文档]