@@ -10,11 +10,10 @@ import saveImage from '../../images/save.png'
1010import uploadImage from '../../images/upload.png'
1111import changeBgImage from '../../images/landscape.png'
1212import resetImage from '../../images/reset.png'
13- import testClothesImage from '../../images/test_clothes1.png'
1413import { API_URL } from '../../api/apiConfig'
1514import ClassMerger from '../common/ClassNameGenerater'
1615
17- function ButtonBar ( { setErrorCode, showAlert } ) {
16+ function ButtonBar ( { setErrorCode, showAlert, setIsDefaultPage } ) {
1817 // URL 입력 저장을 위한 state 생성
1918 const [ inputUrl , setInputUrl ] = useState ( '' )
2019 const [ isModalOpen , setIsModalOpen ] = useState ( false )
@@ -33,7 +32,46 @@ function ButtonBar({ setErrorCode, showAlert }) {
3332
3433 // URL 업로드 버튼 클릭 이벤트 핸들러
3534 const handleImgUploadClick = async ( ) => {
36- // URL 크롤링 하는 함수 작성
35+ if ( selected < 0 || selected >= clothes . length ) {
36+ // 이미지 선택이 없거나 범위를 벗어난 경우
37+ return
38+ }
39+
40+ const file = await fetch ( clothes [ selected ] )
41+ . then ( ( response ) => response . blob ( ) )
42+ . then (
43+ ( blob ) =>
44+ new File ( [ blob ] , `clothes-${ Date . now ( ) } .png` , { type : 'image/png' } )
45+ )
46+
47+ const user = JSON . parse ( localStorage . getItem ( 'user' ) )
48+ if ( ! user || ! user . _id ) {
49+ console . error ( 'User ID not found' )
50+ return
51+ }
52+ const userId = user . _id
53+ const urlWithoutQueryString = inputUrl . split ( '?' ) [ 0 ]
54+
55+ const formData = new FormData ( )
56+ formData . append ( 'userId' , userId )
57+ formData . append ( 'clothingImage' , file )
58+ formData . append ( 'clothesUrl' , urlWithoutQueryString )
59+ for ( let value of formData . values ( ) ) {
60+ console . log ( value )
61+ }
62+ try {
63+ const response = await authenticatedAxios . post (
64+ `${ API_URL } /api/cloth-upload` ,
65+ formData
66+ )
67+ if ( response . status === 200 ) {
68+ console . log ( '업로드에 성공했습니다!' , response . data )
69+ } else {
70+ console . error ( '이미지 업로드에 실패했습니다.' , response )
71+ }
72+ } catch ( error ) {
73+ console . error ( '이미지 업로드 중 오류가 발생했습니다.' , error )
74+ }
3775 }
3876
3977 // url 업로드 버튼 : url에서 이미지 목록 가져옴
@@ -107,7 +145,7 @@ function ButtonBar({ setErrorCode, showAlert }) {
107145 src = { resetImage }
108146 alt = "reset"
109147 text = "되돌리기"
110- onClick = { getUserImage }
148+ onClick = { ( ) => setIsDefaultPage ( true ) }
111149 />
112150 { isModalOpen && (
113151 < div
@@ -162,13 +200,6 @@ function ButtonBar({ setErrorCode, showAlert }) {
162200 ) }
163201 </ div >
164202 )
165-
166- async function getUserImage ( ) {
167- // 데이터베이스에서 유저의 이미지를 불러오는 함수를 호출
168- //const userImage = await fetchUserImageFromDB();
169- // 상태를 업데이트하여 이미지가 표시되는 곳에 사용자 이미지를 표시합니다.
170- //setImageUrl(userImage);
171- }
172203}
173204
174205function ClothesImageElement ( { src, index, selected, onClick } ) {
0 commit comments