php传blob文件流,使用Node将上传的文件流式传输到Azure Blob存储

通过使用Express with Node,我可以成功上传文件,并通过以下代码块将其传递到Azure存储。

app.get('/upload', function (req, res) {

res.send(

'

' +

'' +

'' +

'

'

);

});

app.post('/upload', function (req, res) {

var path = req.files.snapshot.path;

var bs= azure.createBlobService();

bs.createBlockBlobFromFile('c', 'test.png', path, function (error) { });

res.send("OK");

});

这很好用,但是Express创建一个临时文件并首先存储图像,然后将其从文件上传到Azure。这似乎是该过程中效率低下和不必要的步骤,而我最终不得不管理临时文件目录的清理。

我应该能够使用blobService.createBlockBlobFromStreamAzure

SDK中的方法将文件直接流式传输到Azure存储,但是我对Node或Express不够熟悉,无法理解如何访问流数据。

app.post('/upload', function (req, res) {

var stream = /// WHAT GOES HERE ?? ///

var bs= azure.createBlobService();

bs.createBlockBlobFromStream('c', 'test.png', stream, function (error) { });

res.send("OK");

});

我发现以下博客表明可能有一种方法,当然Express也在抓取流数据并将其解析并保存到文件系统中。http://blog.valeryjacobs.com/index.php/streaming-

media-from-url-to-blob-

storage/

vjacobs代码实际上是从另一个站点下载文件并将该流传递到Azure,因此我不确定它是否可以适应我的情况。

如何使用Node访问上传的文件流并将其直接传递到Azure?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值