WebClient.DownloadFileAsync底层实现

本文关键字:实现 DownloadFileAsync WebClient | 更新日期: 2023-09-27 18:18:42

有人知道WebClient。DownloadFileAsync是否实现?我有几个问题:

  1. 返回的流保存在内存中,直到整个文件下载,还是直接缓冲到临时文件(然后复制到正确的路径)?还是直接进入指定的文件?
  2. 编写一个简单的WCF rest服务来响应这些调用将需要以下内容:

    set response headers - Content-Type: application/octet-stream  
                           Content-Length: 3 
                           Content-Disposition: Attachment;
                           filename=SomeFileName.jpeg 
    

    并返回一个字节[]

我错过什么了吗?

WebClient.DownloadFileAsync底层实现

  1. 响应流以块读取,这些块直接写入输出文件流,整个文件不加载到内存中。WebClient并不关心服务器发送的报头是什么。它读取响应流并将其以块的形式保存到输出文件中。