-> postman에서 http method는 post, Body의 form-data에 File으로 파일 세팅, Text로 내용을 세팅해논다.
def post(self) :
file = request.files.get("photo")
content = request.form.get("content")
if file is None :
return {"error" : "파일이 없습니다."}, 400
current_time = datetime.now()
new_file_name = current_time.isoformat().replace(":", "_") + ".jpg"
file.filename = new_file_name
s3 = boto3.client("s3", aws_access_key_id = Config.AWS_ACCESS_KEY_ID,
aws_secret_access_key = Config.AWS_SECRET_ACCESS_KEY)
try :
s3.upload_fileobj(file, Config.S3_BUCKET, file.filename,
ExtraArgs = {"ACL" : "public-read",
"ContentType" : "image/jpeg"})
except Exception as e :
print(e)
return {"error" : str(e)}, 500
try :
connection = get_connection()
query = '''
insert into img_test
(imgUrl, content)
values
(%s, %s);
'''
imgUrl = Config.S3_LOCATION + new_file_name
record = (imgUrl, content)
cursor = connection.cursor()
cursor.execute(query, record)
connection.commit()
cursor.close()
connection.close()
except Exception as e :
print(e)
cursor.close()
connection.close()
return {"error" : str(e)}, 500
return {"result" : "success", "imgUrl" : imgUrl}, 200
-> vscode엔 위 코드를 작성하고 실행한다.
완료 화면
-> 저 url을 들어가도 확인가능하고 AWS의 S3에 해당 버킷에 들어가도 업로드 된 사진을 확인 가능하다.
'Restful API' 카테고리의 다른 글
[Restful API] Restful API 방식으로 서버 개발 총 정리 (0) | 2023.12.18 |
---|---|
[Restful API] 네이버 검색 API 사용해보기 (1) | 2023.12.18 |
[Restful API] 사진을 보내면 해당 사진에 어떤 물체가 있는지 알려주는 API 만들기 (Object detection API, Rekognition) (0) | 2023.12.18 |
[Restful API] 이미지를 S3에 업로드하는 API 만들기 (0) | 2023.12.18 |
[Restful API] 네이버 Papago API 사용해보기 (0) | 2023.12.18 |