我已经try 了一段时间,想把一张简单的图片上传到S3上.有这么多的信息,其中很多都是过时的,所以我在这里简单地问一下,如何使用ts/nextjs/node将简单的图像上传到S3.我有一个IAM用户,我有凭据,我需要的一切,这是我拥有的所有相关代码,它返回一个响应,但没有上传到存储桶中.
const [selectedFile, setSelectedFile] = useState<any>(null);
const handleFileUpload = (e: React.FormEvent<HTMLInputElement>) => {
setSelectedFile(e.currentTarget.files?.[0]);
};
const onSubmit: SubmitHandler<RegisterFormSchemaType> = async (data) => {
const s3 = new AWS.S3({
accessKeyId: process.env.S3_ACCESS_KEY as string,
secretAccessKey: process.env.S3_SECRET_KEY as string,
});
const uploadedImage = await s3.upload({
Bucket: *bucketname*,
Key: "test",
Body: selectedFile,
});
console.log(uploadedImage);
};
和我的输入html:
<Input type="file" onChange={handleFileUpload} />
显然,这种方式不受欢迎,我也读到了Presigneduls之类的--不,我只是太困惑了,想知道如何一劳永逸地做到这一点.