在FSharp.Data网站http://fsharp.github.io/FSharp.Data/library/Http.html中可以找到以下代码段。 Text
和Binary
的类型分别为string
和byte[]
。将整个2GB的文件存储在内存中,然后将其保存到文件中是不好的。
let logoUrl = "https://raw.github.com/fsharp/FSharp.Data/master/misc/logo.png"
match Http.Request(logoUrl).Body with
| Text text ->
printfn "Got text content: %s" text
| Binary bytes ->
printfn "Got %d bytes of binary content" bytes.Length
最佳答案
我不认为您可以保留与FSharp.Data
网站上相同的代码来下载大文件。
我用来下载大文件的是
async {
let! request = Http.AsyncRequestStream(logoUrl)
use outputFile = new System.IO.FileStream(fileName,System.IO.FileMode.Create)
do! request.ResponseStream.CopyToAsync( outputFile ) |> Async.AwaitTaskVoid
} |> Async.RunSynchronously
如果您想尝试下载无限文件检查the complete source(需要您自担风险,它正在使用The Infinite File Download)
关于f# - 如何使用FSharp.Data的http模块下载大文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24870998/