Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用预先签名的url在S3中保存图像,并获取保存的图像url以保存在数据库中_Node.js_Amazon S3_Pre Signed Url - Fatal编程技术网

Node.js 如何使用预先签名的url在S3中保存图像,并获取保存的图像url以保存在数据库中

Node.js 如何使用预先签名的url在S3中保存图像,并获取保存的图像url以保存在数据库中,node.js,amazon-s3,pre-signed-url,Node.js,Amazon S3,Pre Signed Url,我使用node作为后端,并且我能够在s3中保存图像,但是当我使用getObject预签名url时,我得到了下载文件的url,但文件不是图像,它具有本地文件位置,因为我知道您面临两个问题:1。您希望获得刚上载文件的下载URL链接。2.您下载的文件类型与其实际类型不匹配。让我们一次回答一个问题。1.预签名URL是具有受限访问权限的临时(时间方式)URL,因此在上载对象后无法获得永久下载URL链接,您可以做的是在每次希望访问它时生成预签名URL。如果对象ACL是public,则可以使用此模板https

我使用node作为后端,并且我能够在s3中保存图像,但是当我使用getObject预签名url时,我得到了下载文件的url,但文件不是图像,它具有本地文件位置,因为我知道您面临两个问题:1。您希望获得刚上载文件的下载URL链接。2.您下载的文件类型与其实际类型不匹配。让我们一次回答一个问题。1.预签名URL是具有受限访问权限的临时(时间方式)URL,因此在上载对象后无法获得永久下载URL链接,您可以做的是在每次希望访问它时生成预签名URL。如果对象ACL是
public
,则可以使用此模板
https://bucket-name.s3.Region.amazonaws.com/key 名称

2.如果您上传了一个具有指定内容类型的对象,那么我认为,通过在您的预签名URL创建和上传请求中添加
内容类型
标题,您的问题将得到解决。

据我所知,您将面临两个问题:1。您希望获得刚上载文件的下载URL链接。2.您下载的文件类型与其实际类型不匹配。让我们一次回答一个问题。1.预签名URL是具有受限访问权限的临时(时间方式)URL,因此在上载对象后无法获得永久下载URL链接,您可以做的是在每次希望访问它时生成预签名URL。如果对象ACL是
public
,则可以使用此模板
https://bucket-name.s3.Region.amazonaws.com/key 名称

2.如果您上传一个具有指定
内容类型
的对象,那么在我看来,通过将
内容类型
头添加到您的预签名URL创建和上传请求,您的问题将得到解决。

欢迎使用堆栈溢出。请阅读请提供一个,预期输出和实际输出。我不确定你的问题是什么,或者可能有两个?1.您是否正在尝试获取保存的图像URL以便稍后下载?2.您正在下载的文件类型是否与其映像类型不匹配?欢迎使用堆栈溢出。请阅读请提供一个,预期输出和实际输出。我不确定你的问题是什么,或者可能有两个?1.您是否正在尝试获取保存的图像URL以便稍后下载?2.您正在下载的文件类型是否与其图像类型不匹配?