直接从WCF服务返回Azure Blob流

Jas*_*gne 4 c# wcf azure-storage-blobs

我希望通过WCF将Azure Blob Storage的流直接返回到浏览器.基本上我有一个REST WCF服务,我希望用户通过该服务下载文件,而文件存储在Azure Blob存储中.

在这个问题

从WCF服务返回Azure BLOB作为流 - 我们需要关闭它吗?

它做了我喜欢的事情然而它首先将整个文件下载到新流,有没有办法将blob流作为来自WCF的返回流,因此WCF更像是流的代理?

我的问题是大文件(> 10MB),我真的不想从Azure存储中下载整个流,然后才开始将其返回给用户.

我这样做的原因是我在允许访问存储在Azure Blob存储中的文件之前对我的用户进行了一些安全检查,还有一些文件的大小可能高达1GB.

Nei*_*son 5

我做了类似的事情,其中​​WCF用于授权客户端(并检查blob是否仍然存在等).如果一切正常,则WCF服务返回带有共享访问签名的URL - 这允许客户端直接从存储访问流.保存将blob拉到wcf角色然后从那里流式传输的事务成本.

这项工作可能适合你吗?