일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 선형 판별 분석 LDA
- 순서형 데이터
- 상위포지션
- 시계열 상관 분석
- 범주형 데이터
- 최소-최대 정규화
- 지수평활법
- 데이터 분석 프로세스
- ARMA 모델링
- 다변량 분석
- 날짜 시간 데이터 전처리
- 다중상관분석
- Python
- 상관 분석
- 시계열 특성을 고려한 이상치 탐지
- Z-점수 기반 이상치 탐지
- 상자 그림
- 군집화 시각화 방법
- 계절성 모델
- 주성분 분석
- 데이터 수집 및 전처리
- 시계열 모델링
- 데이터의 차원 축소
- custom vision
- 데이터 종류에 따른 분석 방법
- ARIMA 모델링
- Q-Q 플롯
- R과 Python
- 주성분 줄이기
- 명목형 데이터
Archives
- Today
- Total
me made it !
[JSP] 20230322 JSP 파일 첨부된 게시 글 구현하기 본문
반응형
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="example1230.domain.BoardVo" %>
<% BoardVo bv =(BoardVo)request.getAttribute("bv"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>글 내용보기</title>
</head>
<body>
내용보기
<table border=1 style="width:500px;">
<tr>
<td style="width:50px;">제목</td>
<td><%=bv.getSubject() %></td>
<td> 조회수(<%=bv.getViewcnt() %>)</td>
</tr>
<tr>
<td>파일다운로드</td>
<td>
<%
if(bv.getFilename() == null){
}else{%>
<a href="<%=request.getContextPath()%>/board/fileDownload.do?filename=<%=bv.getFilename()%>"><%=bv.getFilename() %></a></td>
<%} %>
</tr>
<tr>
<td>이미지</td>
<td>
<%
if(bv.getFilename() == null){
}else{
String exp = bv.getFilename().substring(bv.getFilename().length()-3, bv.getFilename().length());
if (exp.equals("jpg") || exp.equals("gif") || exp.equals("png")|| exp.equals("peg")) { %>
<img src="<%=request.getContextPath()%>/image/<%=bv.getFilename()%>" width="100%" height="100%" ></td>
<%}
}
%>
</tr>
<tr>
<td style="height:200px;">내용</td>
<td><%=bv.getContent() %></td>
<td></td>
</tr>
<tr>
<td>작성자</td>
<td><%=bv.getWriter() %></td>
<td></td>
</tr>
<tr>
<td colspan=2 style="text-align:right;">
<button onclick = "location.href='<%=request.getContextPath()%>/board/boardModify.do?bidx=<%=bv.getBidx() %>'">수정</button>
<button onclick = "location.href='<%=request.getContextPath()%>/board/boardDelete.do?bidx=<%=bv.getBidx() %>'">삭제</button>
<button onclick = "location.href='<%=request.getContextPath()%>/board/boardReply.do?bidx=<%=bv.getBidx() %>&originbidx=<%=bv.getOriginbidx()%>&depth=<%=bv.getDepth()%>&level_=<%=bv.getLevel_()%>'">답변</button>
<button onclick = "location.href='<%=request.getContextPath()%>/board/boardList.do'">목록</button>
</td>
</tr>
</table>
</body>
</html>
else if (str.equals("/board/fileDownload.do")) {
String filename = request.getParameter("filename");
String filePath ="D:\\dev1230\\Example1230\\src\\main\\webapp\\image";
// 전체경로
String fullFilePath = filePath +"\\"+ filename;
// 실제 물리적인 경로로 인식시키기 위해
Path source =Paths.get(fullFilePath);
// 파일 형식 추출
String mimeType = Files.probeContentType(source);
// 헤더에 파일 형식을 담아서 가지고 간다
response.setContentType(mimeType);
// 한글 깨짐 방지
String filenameEncoding = new String(filename.getBytes("UTF-8"));
// 인코딩한 파일이름을 첨부해서 헤더에 담아서 가져간다.
response.setHeader("Content-Disposition", "attachment; fileName="+filenameEncoding);
FileInputStream fileInputStream = new FileInputStream(fullFilePath);
ServletOutputStream so = response.getOutputStream();
int read = 0;
byte[] b = new byte[4096];
while( (read = fileInputStream.read(b, 0, b.length))!=-1 ) {
so.write(b, 0, read);
}
so.flush();
so.close();
fileInputStream.close();
}
이미지가 첨부되지 않은 페이지에 오류가 발생한다면 ?
<%
if(bv.getFilename() == null){
}else{
String exp = bv.getFilename().substring(bv.getFilename().length()-3, bv.getFilename().length());
if (exp.equals("jpg") || exp.equals("gif") || exp.equals("png")|| exp.equals("peg")) { %>
<img src="<%=request.getContextPath()%>/image/<%=bv.getFilename()%>" width="100%" height="100%" ></td>
<%}
}
%>
if 구문을 추가해서 파일이 첨부되지 않아도 contents가 보이도록 하기
반응형
'TIL > JSP' 카테고리의 다른 글
[JSP] 202320323 JSTL 구현하기 (0) | 2023.03.23 |
---|---|
[JSP] 20230322 JSP 게시판 파일 첨부 (0) | 2023.03.22 |
[JSP] 20230321 JSP 게시판 검색 기능 구현하기 (0) | 2023.03.21 |
[JSP] 20230321 JSP 게시판 페이징 (0) | 2023.03.21 |
[JSP] 20230320 JSP 페이징 (0) | 2023.03.20 |