현재 아래와 같이 presigned 방식을 이용하여 s3로 이미지를 업로드 해보려 합니다 그런데 업로드는 성공을 했으나 아래의 이미지
처럼 이미지가 아닌 파일? 이라고 하는게 맞는지는 모르겠지만 이름이 문자열 형식으로 저장이 되어 url도 받아올 수가 없습니다.
지금 코드에서 뭔가를 잘못한게 있다면 알려주시면 감사하겠습니다.
export const RequestPreSign = async (FileName: string, file: File) => {
try {
const EncodeFileName = encodeURIComponent(FileName);
const preSignUrl = await client.post(
"http://localhost:8081/RequestPreSign",
{ filename: EncodeFileName }
);
const PreSignUrlData = preSignUrl.data;
const ImgUrl = await axios.put(PreSignUrlData, file, {
headers: { "Content-Type": file.type },
});
console.log(ImgUrl);
return PreSignUrlData;
} catch (error) {
return "fail" + error;
}
};