인프런 커뮤니티 질문&답변

terry9611님의 프로필 이미지
terry9611

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

예제로 구현하는 파일 업로드, 다운로드

파일 업로드 관련 질문 있습니다.

작성

·

320

0

파일 업로드 강의를 듣고 강의대로 코드 작성하고 JPA로 구현 해봤는데

Item 엔티티와 ItemFile 엔티티 연관 관계 매핑을 이렇게 해도 되나요?

 

@Entity
@Getter
@NoArgsConstructor(access = PROTECTED)
public class Item extends BaseTimeEntity {

@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "item_id")
private Long id; // 상품 식별자

@OneToOne(mappedBy = "item", fetch = LAZY, cascade = {PERSIST, REMOVE})
private ItemFile mainImage; // 상품 메인이미지

@OneToMany(mappedBy = "item", fetch = LAZY, cascade = {PERSIST, REMOVE})
private List<ItemFile> detailImage = new ArrayList<>(); // 상품 상세이미지


}

 

답변 2

1

안녕하세요. terry9611님, 공식 서포터즈 David입니다.

네, 매핑 자체에는 큰 문제가 없어보입니다.

감사합니다.

0

terry9611님의 프로필 이미지
terry9611
질문자

Caused by: java.io.FileNotFoundException: C:\Users\82107\AppData\Local\Temp\tomcat.8080.3365624991061432770\work\Tomcat\localhost\ROOT\static\imgbandicam 2019-08-06 15-14-47-654.jpg (지정된 경로를 찾을 수 없습니다)

at java.base/java.io.FileOutputStream.open0(Native Method) ~[na:na]

at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) ~[na:na]

at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) ~[na:na]

at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) ~[na:na]

at org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.write(DiskFileItem.java:409) ~[tomcat-embed-core-9.0.63.jar:9.0.63]

at org.apache.catalina.core.ApplicationPart.write(ApplicationPart.java:120) ~[tomcat-embed-core-9.0.63.jar:9.0.63]

... 52 common frames omitted

 

이렇게 나옵니다

파일 저장 로직부터 살펴보시고 파일이 잘 저장되는지, 경로는 어떤지 확인해주세요.

terry9611님의 프로필 이미지
terry9611

작성한 질문수

질문하기