首页 > 解决方案 > 需要通过 Multer-s3 将从套接字接收到的服务器上的 Blob 发送到 S3 存储桶

问题描述

所以我有一个来自我服务器的套接字的 blob(音频数据)。我已经能够使用“fs”将音频保存到服务器,但最终我希望能够将该 blob 作为文件发送到 s3 存储桶。

我已经通过 axios -> server -> s3 进行了文件上传,但是这些数据已经通过套接字接收到了,我无法弄清楚如何让我的 multer 设置来获取数据,因为所有示例都只讨论了“帖子中的“名称”字段相同,等等...但这不是帖子...它的数据已经在服务器上...无论如何,正如您所知,我有点迷路了。

这是我当前将 Blob 保存到文件的设置

socket.on('sendAudio', function(name, buffer) {
                var filesystem = require('fs');        
                var fileName = uploadDir + '/' + name;
                filesystem.open(fileName, 'w', 0755, function(err, fd) {
                    if (err) throw err;
                    
                    filesystem.writeFile(fd, buffer, function(err, written, buff) {
                        filesystem.close(fd, function() {
                            console.log('File saved successful!');
                            io.to(roomInfo.name).emit('_fileReady')
                        });
                    })
                });
                
            });

当然,我上传的另一种方式是一个非常简单的 multer 调用:

app.post(
    '/upload', uploadFile.single('file'), (req, res) => {
        res.json({
            file: req.file,
          });
      });

那么我将如何结合这些呢?

标签: node.jsamazon-s3blobmulter

解决方案


推荐阅读