# upload

52개의 포스트
post-thumbnail

BLOB 파일 저장

이번에는 스프링 부트를 이용해서 파일(이미지) 업로드를 하는 방법에 대해 알아보려합니다. 파일을 업로드하는 방법은 대표적으로 BLOB 와 파일 경로저장 방법입니다. > BLOB (Binary Large Object) BLOB 방법은 이진 형식의 데이터를 직접 데이터베이스에 저장하는 방법입니다. 파일 자체가 데이터베이스에 저장되므로 별도의 경로나 URL이 필요 없습니다. 장점 : 백업 및 복구가 용이 데이터 일관성 유지 파일 접근을 강력하게 제어가능 파일 보안 강화 단점 : 데이터 베이스의 크기가 빠르게 증가할 우려가 있음 백업 및 복구 작업이 복잡해질 수 있음 데이터 베이스 I/O 작업이 더 많아질 수 있음 성능 저하 문제가 발생할 수 있음 > 저장방법 build.gradle [persistence.xml](ht

2023년 9월 5일
·
0개의 댓글
·
post-thumbnail

Image upload Process

image를 데이터에 저장하는 경우는 일반적으로 데이터를 db에 저장할 때의 방식과는 차이가 있음 이미지의 경우 데이터를 기존 db에 직접 저장하지 않고 GCP, AWS와 같은 클라우드플랫폼을 활용하여 storage를 만들어 db에 이미지를 저장한 후 저장된 이미지 주소를 참조하여 끌고오는 형태로 이미지를 보여줌.

2023년 5월 7일
·
0개의 댓글
·

이미지 업로드 프로세스

이미지 업로드는 어떤 방식으로 이루어 지는 걸까? 실제로 이미지 업로드 과정은 회사 또는 보완,성능의 중요도에 따라 전체적인 구조는 완전히 다를 수 있다고 한다! 오늘은 이미지 업로드 방식 중 가장 기본적인 방식에 대해 이야기 해보겠다. >### 이미지 업로드 process 브라우저에서 사용자가 업로드할 이미지 파일을 선택 브라우저에서 선택된 파일을 변수에 저장 변수에 담긴 내용을 파일 객체라고 하며 파일 사이즈 등 파일에 대한 정보를 담고 있다. 이제 브라우저에서는 파일 객체를 백엔드 서버에 업로드 요청을 함 (이를 위해 백엔드 서버에서는 파일 업로드를 하는 API를 생성해 놓아야 함) 백엔드 서버에서는 API를 통해 받은 파일을 DB에 저장 시 BLOB타입으로 저장 하지만 파일은 큰 용량을 차지하기 때문에 모든 파일을 DB에 저장하는 것은 비효율적!! >그럼 조금 더 효율적으로 이미지를 저장해서 관리하려면 이미지

2023년 4월 30일
·
0개의 댓글
·
post-thumbnail

[Kakao Cloud School] 23번째 회고록

Intro 일정 관리의 어려움 프로젝트에 필요한 서비스 개발 일정이 조금씩 지연되면서 앞으로의 일정을 계획하고 수행하는 것이 많이 버거웠다. 결국 기획 및 설계 단계에서 욕심을 부렸던 내용들을 가지치기를 하였고, 본 서비스에 없으면 안될 중요한 기능들의 우선순위를 다시 산출하여 남은 개발기간을 더욱 효율적으로 사용하려고 한다. 하고 싶었던 것들을 모두 할 수 없으니 미련도 남고, 아쉽지만 현재 가장 중요한 것은 MVP이기 때문에 프로토타입 MVP를 개발하는데 초점을 두고 프로젝트를 진행할 것이다. Week 23 카카오 클라우드 스쿨 23주차 106~110일까지의 공부하고 고민했던 흔적들을 기록하였습니다. AWS S3를 통해 이미지와 같은 첨부파일을 관리하기 프로젝트를 진행하면서 이미지 파일을 업로드하고 출력해야 할 개발사항이 있었다. 본래 이러한 첨부파일들을 직접 서버에서 관리하려 했으나, 시간이나 비용적인 문제로 다른 방법

2023년 4월 24일
·
0개의 댓글
·
post-thumbnail

GoogleDrive File Upload Download

npm i react-google-drive-picker 샘플코드 프로젝트 생성 google cloud console -> Google Picker API 사용 API Key 생성 후 삽입 Client Key 생성 후 삽입 -> 허용할 호스트등록 테스트 사용자 등록 토큰발행 => google playground au

2023년 4월 17일
·
0개의 댓글
·
post-thumbnail

파일 여러개 업로드, 다운로드

파일명: application.properties 파일명: fileupload.html 파일명: filedownload.html 파일명: FileDto.java 파일명: MainController.java

2023년 4월 4일
·
0개의 댓글
·
post-thumbnail

[React.js] 이미지 업로드 버그

제로초의 NodeBird 강의 프로젝트를 직접 리뉴얼 하는중에 이미지 업로드와 관련된 버그를 발견했다. (게시물 작성 중 이미지를 업로드하는 기능은 type 이 file 인 input 에 onChange 이벤트를 걸고 업로드 리듀서가 디스패치되는 구조) 게시물을 작성하기 위해 “react” 라는 이미지를 올렸다가, 해당 이미지를 제거하고 다시 그 이미지를 불러오려 할 때 불러오지 않는다. 이때 “vue” 라는 새로운 이미지를 불렀다가 제거 후 다시 “react” 이미지를 부르니 잘 불러졌다. 또 이미지가 업로드된 상태에서 이미지업로드 버튼을 눌렀다가 “취소” 를 누르면 기존에 업로드된 이미지가 사라져버린다. 버그를 요약하면 다음과 같이 두 가지이다. 바로 직전에 제거한 이미지를 다시 불러오려 할 때 불러오지 않음 ![](https://velog.velcdn.com/images/h_jinny/post/b2c2d836-1837-46e2-ab12-c6

2023년 3월 24일
·
0개의 댓글
·
post-thumbnail

[react] 컴포넌트 연습 2

⚡ react 컴포넌트 2 📌 Upload 클릭을 통해 파일 업로드가 가능하다. 파일이 들어왔을 때 들어온 파일의 이름을 표시한다. drag and drop으로도 파일 업로드가 가능하다. 💻 Upload/index.js 💻 Upload.stories.js 🖨 완성된 컴포넌트 !

2023년 3월 15일
·
0개의 댓글
·
post-thumbnail

Firebase 이미지 업로드, 불러오기

upload step > 커스텀한 이미지 버튼 클릭 (useRef로 보이지 않는 파일 input을 클릭하게 해준다.) 파일을 선택하고, 파일의 정보를 imageUpload에 담는다. 이미지 파일을 파이어베이스 스토어에 저장하고, url값을 받아와 image에 담는다. (useEffect에 의존성을 부여해서, imageUpload 값이 초기값에서 다른 값으로 변하면, 함수가 동작한다.) 이미지 프리뷰창에 담은 url값으로 업로드 할 이미지를 보여준다. (uploadStep이 바뀜으로 버튼에서 이미지 프리뷰 버튼으로 바뀜) 받은 이미지의 url값을 DB에 저장한다. (이미지 프리뷰 버튼을 한번 더 누르면, 함수가 동작함) DB에 저장된 이미지의 url값으로 이미지 목록을 뿌려?준다. import state 선언한 useState들과 간략한 쓰임의 용도를 주석처리를 하였다.

2023년 2월 24일
·
1개의 댓글
·
post-thumbnail

python flask boto3를 사용하여 aws S3에 파일 업로드 다운로드 기능 구현 및 환경 세팅

이번에는 파이썬으로 aws를 조작하는 boto3라는 라이브러리를 사용 하여 S3에 사진 파일을 업로드하고 다운로드하는 기능을 간단하게 구현해보려고 합니다. 일단 시작하기에 앞서 python에 boto3를 install 해주세요. python -m pip install --upgrade boto3 IAM 사용자 생성 방법 boto3를 활용해 aws를 조작하기 위해서는 access key와 secreat access key를 가져와야 합니다. 키를 받기 위해서는 IAM에 사용자 추가를 해야합니다. 사용자 추가후 IAM

2023년 2월 20일
·
0개의 댓글
·

사진 업로드 react - graphql - aws s3 [WEB]

웹페이지 -> react - graphql - nestjs - postgres - AWS S3 button -> image File -> base64 Image file -> upload(grahpql) -> buffer -> AWS S3 upload -> S3 URL -> return URL -> image 이미지 업로드 버튼을 클릭함 결과: setCompanyLogo(result) 에 base64 파일 들어감 로도 바로 읽혀진다. 업로드 되어 s3에서 base64를 buffer로 전환후 저장. 그리고 url을 return 한다. 입력: imageExist == true 일 경우, input 값에 base64 정보값을 넣어서 업로드. 결과: companyLogo에 s3에 받아온 결과값을 넣음["https://warehousebackend.s3.amazonaws.com/1675912669164"] 중요! axios 로 req 보낼

2023년 2월 9일
·
0개의 댓글
·
post-thumbnail

Spring Boot - 파일 업로드 처리 (feat. Multi Threading)

이번 게시물에서는 서버에 전송되는 파일을 업로드할 수 있는 기능을 만들고 업로드된 파일을 멀티 쓰레딩 개념을 이용해 효율적으로 서버 스토리지에 저장하는 코드까지 작성해보도록 하겠습니다. 개발 환경 💻 운영체제 : macOS montery 12.4 Spring F/W Spring Boot 2.7.5(Java) Spring Boot Starter Security 2.7.5 (Spring Security 5.7.4) Spring Boot Starter JPA 2.7.5 Lombok 1.8.24 그 외 기타 dependency 는 생략 데이터베이스 : MySQL Java 11 (JDK : Amazon corretto) 파일 업로드 기능 구현 💻 테이블 설계 ✍🏻 우선, 업로드된 파일의 정보를 데이터베이스에 기록하기 위한 테이블을 다음과 같이 설계했습니다. |컬럼명|설명|타입| |----|---|---| |ID(P

2023년 1월 27일
·
1개의 댓글
·
post-thumbnail

1월 25일 스프링

concat : 문자열을 합치는 것 검색기능 만들때 자주 사용 하는거 같음 select concat('아이디 : ', userid) , concat('이름 : ',name) from member; 아이디 : sofina , 이름 : 소피나 select * from board where title like concat('%','1234','%'); 위 실행문은 타이틀에 1234가 포함된 글을 가져와라 > caption 이용해서 테이블 안에 검색창 만들기 제목 내용 이름 <input ty

2023년 1월 25일
·
0개의 댓글
·

[스프링부트] GCS 업로드/다운로드 구현

이게.. 문서가 제대로 된게 하나도 없다. 어떻게 된일인지 모르겠음. 공식문서가 어딘가에 있을텐데 끝까지 찾지 못함. 업로드/다운로드 모두 public하게 구현한 것이 아니고, 권한 있는 계정 기반으로 authorize하여 동작하도록 구현하였다. 업로드 구현 https://medium.com/@raviyasas/spring-boot-file-upload-with-google-cloud-storage-5445ed91f5bc https://www.javastackflow.com/2022/07/spring-boot-file-upload-with-google.html 위에 두개 같은 내용인데, 뭐가 원본인지 모르겠음. https://javabom.tistory.com/26 이거 그대로 하면 절대안됨. ㅋㅋㅋ 빡침 가장 트롤링이 심한 부분은 이부분 외부로 공개안돼있는 버킷을 기반으로 한다고 텍스트에는 써놓고 allAuthentic

2022년 12월 28일
·
0개의 댓글
·
post-thumbnail

Image upload Process

이미지 업로드 > 1. Back-end에 파일을 업로드하는 API를 만든다. 브라우저에 파일 태그를 만든다. 태그를 통해 파일을 선택하면 파일 객체가 들어오고, 그 객체를 state나 변수에 저장할 수 있다. 파일을 uploadFile API에 보내면 Back-end에서 Storage로 파일을 전송한다. Storage에서는 파일을 저장해주고 그 파일을 다운받을 수 있는 주소를 준다. Back-end가 그 주소를 받아서 다시 프론트에 돌려준다. 전달받은 주소를 img 태그 등에 사용하면 실제로 브라우저에서 해당 이미지를 볼 수 있게 된다. API에 image 주소와 이미지에 대한 각종 정보를 넘긴다. DB에 이미지 주소를 등록하고, 클라이언트 요청시 image 주소를 받아와서 화면에 보여준다. 데이터베이스는 각각의 타입이 있다. (text, integer ...) 이미지 주소가 문자열로 들어가면 text, 실제 이미지가 들어가면 blob 타입이

2022년 12월 19일
·
0개의 댓글
·
post-thumbnail

1005 Spring file

sts에서 첨부파일 올리기 insert fileRename 객체를 만든다 보내는 파일은 multipart/form-data / multiple controller 작성 update 추가 예정.

2022년 11월 28일
·
0개의 댓글
·
post-thumbnail

국비학원_79일차(이미지 업로드, AOP, JPA, Ajax)

Upload 🎨이미지 올리기 파일 업로드 참고 📂 static index.html 📂 views upLoadFormStart.jsp uploadResult.jsp [com.oracle.oBootMybatis01.controller] UploadController.java > MultipartFile 주요 메서드 file.getOriginalFilename() : 업로드 파일 명 file.transferTo() : 파일 저장 ![](https://velog.velcdn.com/images/ahdtnpf96/post/03daaa7c-149f-4141-82

2022년 11월 14일
·
0개의 댓글
·
post-thumbnail

Image Upload Process

Image Upload Process >이미지 업로드 과정은 회사 또는 보완,성능의 중요도에 따라 전체적인 구조는 완전히 다를 수 있다. 이미지 업로드의 가장 기본적인 방식 > 브라우저에서 사용자가 업로드할 이미지 파일을 선택한다. 브라우저에서 선택된 파일을 변수에 저장한다. -> 변수에 담긴 내용을 파일 객체라고 하며 파일 사이즈 등 파일에 대한 정보를 담고 있다. 이제 브라우저에서는 파일 객체를 백엔드 서버에 업로드 요청을 한다. -> 이를 위해 백엔드 서버에서는 파일 업로드를 하는 API를 제작해 놓아야 한다. 백엔드 서버에서는 API를 통해 받은 파일을 DB에 저장 시 BLOB타입으로 저장하게 된다. -> 하지만 파일은 큰 용량을 차지하기 때문에 모든 파일을 DB에 저장하는 것은 비효율적이다. > 그래서 이미지 파일을 저장하기 위해 Storage service를 이용한다. Storage service를 제공하는 대표적인 회사들

2022년 10월 24일
·
0개의 댓글
·
post-thumbnail

S3 멀티파트 업로드 및 유의사항

사전지식 원본 파일이 대용량일 경우 파트를 나눠서 업로드 방법에 대해 안내합니다. 유의사항 멀티파트 업로드를 진행하는 경우에 아래와 같은 특이사항이 있습니다. 일부 파트만 s3에 업로드 하는 경우에는 해당 객체가 s3에 표시되지 않습니다. 표시되지 않는 문제로 인해 불필요한 비용이 발생할 수 있기 때문에 파트에 대한 확인이 필요합니다. ​ 글의 목적 cli를 통해 멀티파트 업로드 작업을 진행하는 방법에 대해 안내합니다. 작업 방법 아래의 명령어를 통해 하나의 원본 파일을 여러개의 파트로 분할합니다. 4개의 파트로 분할하며 C0031.MP4라는 파일명 뒤에 숫자가 붙는 옵션입니다. C0031.MP4라는 파일에 대해 C0031.MP400부터 C0031.MP403까지 파일이 생성됩니다. 멀티파트 업로드를 시작하고 연관된 업로드 ID를 검색하기 위해 아래의 명령어를 실행합니다. 아래의 명령어를 통해 파트를 하나씩 업로드합니다

2022년 9월 2일
·
0개의 댓글
·