我正在为我的一个网站使用Node JS。根据网站的要求,我正在使用亚马逊S3存储在桶图像。
我使用API上传图像动态在我的亚马逊S3桶使用访问密钥和保密密钥。
但现在我想使用node JS在网站上预览或显示这些上传的图像(不是一次全部)。请注意,S3 bucket不是公共的。
有人能建议如何使用节点JS从Amazon S3检索图像吗?尝试使用getObject(),获取403禁止错误。文件成功上传到S3桶,在读取文件时,由于禁止错误,无法看到上载的文件。
这是我的密码
let fileNew = request.file;
if (!fileNew) {
response.status(200).json({ message: "Failure, please upload file", status: 400 });
}
const params = {
Bucket: aws_s3_bucketName,
Key: fileNew.originalname,
Body: fileNew.buffer,
};
s3.upload(params, async function (err: any, data: any) {
if (err) {
return console.log("There was an error while uploading your file: ", err.message);
}
const fileInfo =data.Location;
response.status(200).json({ message: "Success", data: fileInfo , status: 200 });
});
s3.getObject(params, function(err, data) {
if (err){
console.log(err, err.stack);
}
else {
console.log(data);
}
});
我假设上传和下载发生在不同的请求中。
在这种情况下:如果对PUT和GET使用完全相同的标识,那么它应该可以工作。如果希望允许AWS帐户中的其他人访问对象,则在上载时添加bucket owner full control
ACL
。
const params = {
Bucket: aws_s3_bucketName,
Key: fileNew.originalname,
Body: fileNew.buffer,
ACL: 'bucket-owner-full-control'
};
有关ACL的更多信息,请点击此处
如果您想在文件上传后立即下载,那么将下载块移动到upload函数的回调中。
问题内容: 我正在重构一些旧代码,包括重写基本的mysql查询以使用PDO。 以下内容在所有浏览器和所有图像类型中均能出色发挥作用: 不幸的是,但是我使用PDO重写了它,但是它不起作用。我已经遍历了整个PDO文档和标准的Web搜索,但是所有建议/解决方案都无效。 如何使用PDO轻松地从MySQL中获取图像并显示图像? 编辑1: 马修·拉兹洛夫(Matthew Ratzloff)在下面给出了明显的答
我正在将文件从php上传到s3bucket.its上传成功,但当我检索图像时,我得到以下错误 如果我在上传文件时设置为公开,那么我可以检索它,但我想防止未经授权的用户。 上载文件代码 在问问题之前,我已经参考了许多网站,但它对我没有帮助 Amazon S3查看私人文件 PHP Amazon S3通过URL访问私人文件 如何通过Zend_Service_Amazon_S3访问Amazon s3私有桶
问题内容: 节点和角度。我有一个MEAN堆栈身份验证应用程序,在其中按如下所述在成功登录时设置JWT令牌,并将其存储在控制器的会话中。通过服务拦截器将JWT令牌分配给config.headers: authservice.js Interceptor(省略了requestError,response和responseError): 现在我想从令牌中获取登录的用户详细信息,我该怎么做?我尝试如下,但
节点和角度。我有一个平均堆栈身份验证应用程序,其中我在成功登录时设置JWT令牌,如下所示,并将其存储在控制器中的会话中。将JWT令牌分配给config。通过服务拦截器的标头: authservice.js拦截器(省略了请求错误、响应和响应错误): 现在我想从令牌中获取登录用户的详细信息,我该怎么做?我尝试了如下,但没有成功。当我记录来自用户的错误时。js文件它说“ReferenceError:未定
我目前正在使用JAK(KML的Java API)与Google Earth和定制的KML文件进行交互。我可以使用placemark p.getName()或point等工具获取/设置地名的名称、描述和坐标。getCoordinates();但我遇到的问题是获取图标所用图像的url。例如,如果我的kml文件中有这个placemark(包含在文档中,然后是整个kml标记): 我怎样才能抓住那个png