如何使用ServiceStack客户端恢复大文件下载并获得下载进度?

先知

我有一个ServiceStack客户端,该客户端调用一个服务,该服务返回100MB至10GB之间的大数据文件。当前,此客户端使用Stream.CopyTo保存到文件方法可以在LAN上完美运行

当客户端通过WAN(除了通过LAN)运行时,如果下载停止或失去连接并继续查看,则恢复下载的能力变得很重要。

该服务支持发送部分文件,但是我不清楚如何在ServiceStack客户端中支持它,即使它是内置的,我也没有意识到。

同样,要复制到另一个文件CopyTo方法不会报告进度,因此,对于大文件来说,可能要花费数小时,并且您无法告知进度。我看过有关报告进度方法的帖子,但在所使用的类的任何地方都找不到。streamstreamCopyFrom

我的环境是ServiceStack的最新版本以及Mac OS X上的Mono版本和Windows上的.NET 4.5最新版本。

能够对文件进行不同段的并发下载将是理想的选择,但仅能够恢复下载将是巨大的帮助。

有人可以指出在ServiceStack客户端中执行此操作的最佳方法吗?我发现的大多数示例仅适用于普通的Web客户端,并且已经很旧了,因此想了解一下最新版本的dotnet和mono以及ServiceStack的最佳方法是什么。

如果可能,一个基本的例子将是完美的。

神话

ServiceStack支持部分内容响应以返回以下服务:

物理文件

return new HttpResult(new FileInfo(filePath), request.MimeType); 

内存流

return new HttpResult(ms, "audio/mpeg");

原始文字

return new HttpResult(customText, "text/plain");

通过ServiceStack提供的静态文件

直接通过ServiceStack提供的静态文件下载中也提供了部分内容,可让您流mp3下载,或者在需要时使用静态.html,.css,.js等。

Http实用程序

有关如何使用ServiceStack的内置HTTP Utils请求部分下载的示例,请参见PartialContentResultTests.cs

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用具有恢复功能的PHP将大型远程文件下载到客户端

来自分类Dev

如何在AFNetworking 2.0中获得下载进度?

来自分类Dev

如何在AFNetworking 3.0中使用AFHTTPSessionManager获得下载进度

来自分类Dev

使用CLI客户端从torrent下载特定文件

来自分类Dev

使用 cli 客户端从 torrent 下载特定文件

来自分类Dev

客户端在提供大文件以供下载时断开连接(Java、Jersey、HTTP、GET)

来自分类Dev

隐藏客户端的文件下载源

来自分类Dev

如何使用Dart语言将Web客户端数据下载为文件

来自分类Dev

如何使用Netbeans的FTP客户端从服务器下载新文件

来自分类Dev

如何使用C#在客户端计算机上下载文件

来自分类Dev

如何在不使用客户端缓存的情况下下载新版本的文件?

来自分类Dev

如何使用AndroidAnnotations制作进度条以显示大文件的进度下载?

来自分类Dev

通过AFNetworking 2.0 + NSProgress + Custom ProgressView获得下载进度

来自分类Dev

Google Drive Api v3获得下载进度

来自分类Dev

如何使用servicestack类型的客户端?

来自分类Dev

如何使用wget下载大文件?

来自分类Dev

如何启动客户端数据的文件下载并指定其文件名?

来自分类Dev

如何获得PHP解密内存中的某些文件,然后让客户端下载这些文件?

来自分类Dev

使用PHP的cURL:将文件下载到客户端会导致文件轻微损坏

来自分类Dev

逐块下载文件客户端块

来自分类Dev

文件下载和客户端断开连接?

来自分类Dev

Java FTP客户端未下载文件

来自分类Dev

如何获得<script>的下载进度?

来自分类Dev

即使使用下载客户端内置的校验和验证,也可以下载损坏的torrent文件吗?

来自分类Dev

如何从服务器下载文件到客户端?

来自分类Dev

单击Chrome中下载的Torrent文件时,如何选择调用哪个BitTorrent客户端?

来自分类Dev

如何以编程方式在客户端重命名下载文件?

来自分类Dev

使用Java中的套接字将文件从服务器下载到客户端

来自分类Dev

邮件客户端如何读取indy下载的附件?

Related 相关文章

  1. 1

    使用具有恢复功能的PHP将大型远程文件下载到客户端

  2. 2

    如何在AFNetworking 2.0中获得下载进度?

  3. 3

    如何在AFNetworking 3.0中使用AFHTTPSessionManager获得下载进度

  4. 4

    使用CLI客户端从torrent下载特定文件

  5. 5

    使用 cli 客户端从 torrent 下载特定文件

  6. 6

    客户端在提供大文件以供下载时断开连接(Java、Jersey、HTTP、GET)

  7. 7

    隐藏客户端的文件下载源

  8. 8

    如何使用Dart语言将Web客户端数据下载为文件

  9. 9

    如何使用Netbeans的FTP客户端从服务器下载新文件

  10. 10

    如何使用C#在客户端计算机上下载文件

  11. 11

    如何在不使用客户端缓存的情况下下载新版本的文件?

  12. 12

    如何使用AndroidAnnotations制作进度条以显示大文件的进度下载?

  13. 13

    通过AFNetworking 2.0 + NSProgress + Custom ProgressView获得下载进度

  14. 14

    Google Drive Api v3获得下载进度

  15. 15

    如何使用servicestack类型的客户端?

  16. 16

    如何使用wget下载大文件?

  17. 17

    如何启动客户端数据的文件下载并指定其文件名?

  18. 18

    如何获得PHP解密内存中的某些文件,然后让客户端下载这些文件?

  19. 19

    使用PHP的cURL:将文件下载到客户端会导致文件轻微损坏

  20. 20

    逐块下载文件客户端块

  21. 21

    文件下载和客户端断开连接?

  22. 22

    Java FTP客户端未下载文件

  23. 23

    如何获得<script>的下载进度?

  24. 24

    即使使用下载客户端内置的校验和验证,也可以下载损坏的torrent文件吗?

  25. 25

    如何从服务器下载文件到客户端?

  26. 26

    单击Chrome中下载的Torrent文件时,如何选择调用哪个BitTorrent客户端?

  27. 27

    如何以编程方式在客户端重命名下载文件?

  28. 28

    使用Java中的套接字将文件从服务器下载到客户端

  29. 29

    邮件客户端如何读取indy下载的附件?

热门标签

归档