使用Flurl将流响应发布并保存到文件的正确方法是什么

托马斯

我正在尝试实现一个异步POST文件,并使用Flurl直接读取对文件的响应。下面的代码可以正常工作,但不能确定使用c.Result.CopyToc.Result.CopyToAsync将文件写入流哪种方法正确?

var result = new Url(url)
                .WithHeader("Content-Type", "application/octet-stream")
                .PostAsync(new FileContent(Conversion.SourceFile.FileInfo.ToString()))
                .ReceiveStream().ContinueWith(c =>
                {
                    using (var fileStream = File.Open(DestinationLocation + @"\result." + model.DestinationFileFormat, FileMode.Create))
                    {
                        c.Result.CopyTo(fileStream);
                        //c.Result.CopyToAsync(fileStream);
                    }
                });

            if (!result.Wait(model.Timeout * 1000))
                throw new ApiException(ResponseMessageType.TimeOut);
托德·梅尼尔

您当然可以CopyToAsync在这里使用,但是如果您避免使用ContinueWith,它会更干净,因为引入async/以来,它通常没有那么有用await它还使配置HTTP流更干净。我会选择这样的东西:

var request = url.WithHeader("Content-Type", "application/octet-stream");
var content = new FileContent(Conversion.SourceFile.FileInfo.ToString());

using (var httpStream = await request.PostAsync(content).ReceiveStream())
using (var fileStream = new FileStream(path, FileMode.CreateNew))
{
    await httpStream.CopyToAsync(fileStream);
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RTSP流,转码并保存到文件的正确方法是什么?

来自分类Dev

Spring-响应文件流的正确方法是什么?

来自分类Dev

使用Mongoengine和Pyramid将数据保存到嵌入式文档的正确方法是什么?

来自分类Dev

使用Mongoengine和Pyramid将数据保存到嵌入式文档的正确方法是什么?

来自分类Dev

将复杂字典保存到文件的最佳方法是什么?

来自分类Dev

如何使用方法CreatedAtRoute()响应发布请求

来自分类Dev

将数组保存到可以重新加载的文件的最佳方法是什么

来自分类Dev

将平铺网格保存到 Java 游戏的文本文件的最佳方法是什么?

来自分类Dev

使用python将位流保存到文件

来自分类Dev

使用 PostProcessor 将响应保存到 JMeter 中的文件

来自分类Dev

将排序保存到sql的最佳方法是什么?

来自分类Dev

Laravel Ajax响应发布方法

来自分类Dev

将ajax响应保存到文件

来自分类Dev

通过请求将响应保存到文件

来自分类Dev

使用NSURLSession进行POST,发布变量的正确方法是什么?

来自分类Dev

在Laravel中通过确认页面持久保存到提交页面的正确方法是什么?

来自分类Dev

在iOS应用中将少量数据保存到磁盘的最正确方法是什么?

来自分类Dev

在iOS应用中将少量数据保存到磁盘的最正确方法是什么?

来自分类Dev

使用ajax将php响应发布到div中不起作用

来自分类Dev

确认芹菜发布的正确方法是什么?

来自分类Dev

将erlang值保存到文件并将其重新加载的过程是什么?

来自分类Dev

使用不起作用的流将文件保存到Azure存储

来自分类Dev

REST API响应的正确方法是什么?

来自分类Dev

Gstreamer 1.0将rtsp流保存到文件

来自分类Dev

将Doobie流从数据库保存到文件

来自分类Dev

如何以编程方式将JasperViewer保存到文件/流?

来自分类Dev

Gstreamer 1.0将rtsp流保存到文件

来自分类Dev

将HTTP流保存到c#中的文件

来自分类Dev

通过php将发布数据保存到文件中

Related 相关文章

  1. 1

    RTSP流,转码并保存到文件的正确方法是什么?

  2. 2

    Spring-响应文件流的正确方法是什么?

  3. 3

    使用Mongoengine和Pyramid将数据保存到嵌入式文档的正确方法是什么?

  4. 4

    使用Mongoengine和Pyramid将数据保存到嵌入式文档的正确方法是什么?

  5. 5

    将复杂字典保存到文件的最佳方法是什么?

  6. 6

    如何使用方法CreatedAtRoute()响应发布请求

  7. 7

    将数组保存到可以重新加载的文件的最佳方法是什么

  8. 8

    将平铺网格保存到 Java 游戏的文本文件的最佳方法是什么?

  9. 9

    使用python将位流保存到文件

  10. 10

    使用 PostProcessor 将响应保存到 JMeter 中的文件

  11. 11

    将排序保存到sql的最佳方法是什么?

  12. 12

    Laravel Ajax响应发布方法

  13. 13

    将ajax响应保存到文件

  14. 14

    通过请求将响应保存到文件

  15. 15

    使用NSURLSession进行POST,发布变量的正确方法是什么?

  16. 16

    在Laravel中通过确认页面持久保存到提交页面的正确方法是什么?

  17. 17

    在iOS应用中将少量数据保存到磁盘的最正确方法是什么?

  18. 18

    在iOS应用中将少量数据保存到磁盘的最正确方法是什么?

  19. 19

    使用ajax将php响应发布到div中不起作用

  20. 20

    确认芹菜发布的正确方法是什么?

  21. 21

    将erlang值保存到文件并将其重新加载的过程是什么?

  22. 22

    使用不起作用的流将文件保存到Azure存储

  23. 23

    REST API响应的正确方法是什么?

  24. 24

    Gstreamer 1.0将rtsp流保存到文件

  25. 25

    将Doobie流从数据库保存到文件

  26. 26

    如何以编程方式将JasperViewer保存到文件/流?

  27. 27

    Gstreamer 1.0将rtsp流保存到文件

  28. 28

    将HTTP流保存到c#中的文件

  29. 29

    通过php将发布数据保存到文件中

热门标签

归档