node.js - 如何在节点中发出表单数据请求,从 s3 中提取文件
问题描述
大家好,所以我试图在 nodejs 中提出这种类型的请求。我假设您可以使用 multer 来完成,但有一个主要问题我不想下载文件或从表单上传它我想直接从 s3 中提取它,获取对象并将其作为文件与其他数据到我的路线。有可能这样做吗?
解决方案
是的,这是完全可能的。假设您了解aws-sdk
.
示例:(辅助方法)
getDataFromS3(filename, bucket, callback) {
var params = {
Bucket: bucket,
Key: filename
};
s3.getObject(params, function(err, data) {
if (err) {
callback(true, err.stack); // an error occurred
}
else {
callback(false, data); //success in retrieving data.
}
});
}
您的路线:
app.post('/something', (req, res) => {
var s3Object = getDataFromS3('filename', 'bucket', (err, file) => {
if(err) {
return res.json({ message: 'File retrieval failed' });
}
var routeProperties = {};
routeProperties.file = file;
routeProperties.someOtherdata = req.body.someOtherData;
return res.json({routeProperties});
});
});
当然,代码可能并不完全正确。但这是一种你可以用来得到你想要的东西的方法。希望这可以帮助。
推荐阅读
- sql - PL/SQL中的模块化函数
- postgresql - N字内全文检索
- laravel - Laravel Sendgrid SMTP
- r - 逐行解析 JSON 文档
- excel - 如何找到文本格式的最小月份?
- javascript - 如何将元素保留在视口中?
- angular - Angular 8.未知数量的http.get请求在数组中调用,必须是顺序的,使用什么
- asp.net-core - GroupBy 自动映射聚合
- c# - 如果根节点 2 xmlns url 和一个 xmlns 没有前缀,如何获取“xpath”值?
- react-native - 按钮单击时未定义不是对象(评估“_this.props.navigation.navigate”)