目前正在编写代码以制作船长 gridfs 适配器。当您调用上传时,文件在回调中传递,我想向包含 gridfs 存储元数据和 gridfs 存储 ID 的文件添加一个额外字段。
我正在查看 skipper 中的上游代码,并看到一个名为 stream.extra 的东西。我猜它是为了传递额外的数据,我将如何使用它?
感谢您为此工作!您可以将额外的元数据添加到您的流中,方法是将其放在__newFile
接收器_write
方法中的对象上。例如,在捆绑的 s3Receiver 中,您可以在第 61 行看到:
__newFile.extra.fsName = fsName;
这是将新生成的文件名添加为上传文件对象的元数据。在控制器的upload
回调中,您可以从返回的文件对象中检索额外数据:
req.file('myFile').upload(function (err, files) {
var newFileName = files[0].extra.fsName;
});