我正在尝试使用该apollo-upload-client
库通过 graphql 将图像上传到 S3,该库仅提供通过 graphql 查询发送图像的能力。因此,图像在 S3 存储桶中进行了叙述,但是当我尝试读取 Location url 时,它似乎不起作用。当我用它阅读网址时,<img src="img_url" />
它只显示:
当我尝试手动输入链接时,它只会自动下载一个带有很多奇怪符号的奇怪文本文件。
这是看起来的upload
样子:
export async function uploadImageResolver(
_parent,
{ file }: MutationUploadImageArgs,
context: Context,
): Promise<string> {
// identify(context);
const { createReadStream, filename, mimetype } = await file;
const response = await s3
.upload({
ACL: 'public-read',
Bucket: environment.bucketName,
Body: createReadStream(),
Key: uuid(),
ContentType: mimetype,
})
.promise();
return response.Location;
}
File 对象的示例如下所示:
{
filename: 'Screenshot 2021-06-15 at 13.18.10.png',
mimetype: 'image/png',
encoding: '7bit',
createReadStream: [Function: createReadStream]
}
我做错了什么?它返回一个实际的 S3 链接,但链接本身不显示任何图像。我尝试手动将相同的图像上传到 S3,它工作得很好。提前感谢您的任何建议!