我声明我的multer
配置如下:
const storage = multer.memoryStorage()
const upload = multer({
limits: {
fileSize: 1000 * 1000 * 10 // 10 Megabytes
},
storage: storage
});
然后在我的快车道上:
...//On api.post() {}
console.log(file);
...
这会输出带缓冲区的文件,非常棒!但是当我打电话时:
createBlockBlobFromStream(containerName, fileName, file, size)
我收到了stream.pause is not a function
在上传开始时调用的错误azure-storage
,因为sdk想要等到它之前从azure cloud blob服务获得200
继续,这是有道理的。
然而,它并不认为我传递的文件具有属性pause()
。
之前有人碰到过这个吗?我在某处读到multer
创建的流不是正确的共振峰,我需要将它包装在streamifier
或其他包中。
答案 0 :(得分:1)
问题是缓冲区与流不对应。最好看看multer-azure-storage更容易
例如
var multer = require('multer')
var MulterAzureStorage = require('multer-azure-storage')
var upload = multer({
storage: new MulterAzureStorage({
azureStorageConnectionString: 'https://mystorageaccount.blob.core.windows.net/',
azureStorageAccessKey: 'myaccesskey',
azureStorageAccount: 'mystorageaccount',
containerName: 'photos',
containerSecurity: 'blob'
})
})