我声明我的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希望在继续之前从天蓝色的云Blob服务中获取200
,这是有道理的。但是,它并不认为我通过的文件具有属性
pause()
。有人遇到过吗?我在某处读到
multer
创建的流不是正确的共振峰,我需要将其包装在streamifier
或其他包装中。 最佳答案
问题是缓冲区与流不对应。更好地查看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'
})
})
关于node.js - 上传文件以流式传输到天蓝色时,Stream.pause不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42580160/