
--- client/views/pages/admin/news/NewsInsert.vue
+++ client/views/pages/admin/news/NewsInsert.vue
... | ... | @@ -285,7 +285,6 @@ |
285 | 285 |
//파일업로드 중 업로드 파일 삭제 |
286 | 286 |
fileRemove(idx) { |
287 | 287 |
this.fileList.splice(idx, 1); |
288 |
- console.log("reMove_file", this.fileList); |
|
289 | 288 |
this.filecount = this.fileList.length; |
290 | 289 |
}, |
291 | 290 |
|
--- client/views/pages/admin/news/NewsSelectList.vue
+++ client/views/pages/admin/news/NewsSelectList.vue
... | ... | @@ -33,7 +33,7 @@ |
33 | 33 |
<li v-for="(item, idx) in postList" :key="idx" @click.stop="postSelectOnePage(item)"> |
34 | 34 |
<a> |
35 | 35 |
<div class="thumbnail"> |
36 |
- <img :src="'http://localhost:8080' + item.file_path + '\\thumbnail_' + item.file_nm + '.' + item.file_extn_nm" |
|
36 |
+ <img :src="'http://localhost:8088' + item.file_path + '/thumbnail_' + item.file_nm + '.' + item.file_extn_nm" |
|
37 | 37 |
alt="thumbnail" /> |
38 | 38 |
</div> |
39 | 39 |
<div class="text-zone"> |
--- client/views/pages/admin/news/NewsSelectOne.vue
+++ client/views/pages/admin/news/NewsSelectOne.vue
... | ... | @@ -185,7 +185,7 @@ |
185 | 185 |
|
186 | 186 |
downloadFile: function (item) { |
187 | 187 |
const vm = this; |
188 |
- let path = item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm; |
|
188 |
+ let path = item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm; |
|
189 | 189 |
axios({ |
190 | 190 |
url: '/file/downloadFile.json', |
191 | 191 |
method: 'post', |
--- client/views/pages/admin/news/NewsUpdate.vue
+++ client/views/pages/admin/news/NewsUpdate.vue
... | ... | @@ -137,8 +137,8 @@ |
137 | 137 |
for(let i=0; i< vm.fileList.length; i++) { |
138 | 138 |
if(vm.fileList[i].file_ty === 'thumbnail') { |
139 | 139 |
vm.oldThumbnailFileList.push (vm.fileList[i]) |
140 |
- vm.thumbnailPreview = 'http://localhost:8080' + vm.fileList[i].file_path.replace('C:', '') + |
|
141 |
- '\\thumbnail_' + vm.fileList[i].file_nm + '.' + vm.fileList[i].file_extn_nm; |
|
140 |
+ vm.thumbnailPreview = 'http://localhost:8088' + vm.fileList[i].file_path.replace('C:', '') + |
|
141 |
+ '/thumbnail_' + vm.fileList[i].file_nm + '.' + vm.fileList[i].file_extn_nm; |
|
142 | 142 |
} else { |
143 | 143 |
vm.attachFileList.push(vm.fileList[i]); |
144 | 144 |
} |
... | ... | @@ -315,7 +315,16 @@ |
315 | 315 |
} |
316 | 316 |
let reader = new FileReader(); |
317 | 317 |
reader.onload = (e) => { |
318 |
+ const originalThumbnail = this.thumbnailPreview; |
|
318 | 319 |
this.thumbnailPreview = e.target.result; |
320 |
+ |
|
321 |
+ // 파일 확장자 검사 |
|
322 |
+ const fileExtension = file.name.split('.').pop().toLowerCase(); |
|
323 |
+ if (fileExtension === 'jpg') { |
|
324 |
+ alert("JPG, PNG, BMP, GIF, WBMP 확장자파일만 사용하실 수 있습니다."); |
|
325 |
+ this.thumbnailPreview = originalThumbnail; |
|
326 |
+ return; |
|
327 |
+ } |
|
319 | 328 |
|
320 | 329 |
// 이미지크기 확인 |
321 | 330 |
const img = new Image(); |
... | ... | @@ -323,7 +332,7 @@ |
323 | 332 |
img.onload = () => { |
324 | 333 |
if (img.width < MIN_WIDTH || img.height < MIN_HEIGHT) { |
325 | 334 |
alert("썸네일 이미지 크기는 최소 " + MIN_WIDTH + "픽셀" + "x" + MIN_HEIGHT + "픽셀" + "입니다."); |
326 |
- this.thumbnailPreview = null; |
|
335 |
+ this.thumbnailPreview = originalThumbnail; |
|
327 | 336 |
} else { |
328 | 337 |
this.deleteFileList.push(...this.oldThumbnailFileList.filter(file => file.file_ty === 'thumbnail')); |
329 | 338 |
this.deleteCount += 1; |
--- client/views/pages/admin/notice/NoticeSelectOne.vue
+++ client/views/pages/admin/notice/NoticeSelectOne.vue
... | ... | @@ -165,7 +165,7 @@ |
165 | 165 |
|
166 | 166 |
downloadFile: function (item) { |
167 | 167 |
const vm = this; |
168 |
- let path = item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm; |
|
168 |
+ let path = item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm; |
|
169 | 169 |
axios({ |
170 | 170 |
url: '/file/downloadFile.json', |
171 | 171 |
method: 'post', |
--- client/views/pages/admin/popup/PopupSelectOne.vue
+++ client/views/pages/admin/popup/PopupSelectOne.vue
... | ... | @@ -165,7 +165,7 @@ |
165 | 165 |
|
166 | 166 |
downloadFile: function (item) { |
167 | 167 |
const vm = this; |
168 |
- let path = item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm; |
|
168 |
+ let path = item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm; |
|
169 | 169 |
axios({ |
170 | 170 |
url: '/file/downloadFile.json', |
171 | 171 |
method: 'post', |
--- client/views/pages/admin/technology/TechUpdate.vue
+++ client/views/pages/admin/technology/TechUpdate.vue
... | ... | @@ -151,8 +151,8 @@ |
151 | 151 |
for(let i=0; i< vm.fileList.length; i++) { |
152 | 152 |
if(vm.fileList[i].file_ty === 'thumbnail') { |
153 | 153 |
vm.oldThumbnailFileList.push (vm.fileList[i]) |
154 |
- vm.thumbnailPreview = 'http://localhost:8080' + vm.fileList[i].file_path.replace('C:', '') + |
|
155 |
- '\\thumbnail_' + vm.fileList[i].file_nm + '.' + vm.fileList[i].file_extn_nm; |
|
154 |
+ vm.thumbnailPreview = 'http://localhost:8088' + vm.fileList[i].file_path.replace('C:', '') + |
|
155 |
+ '/thumbnail_' + vm.fileList[i].file_nm + '.' + vm.fileList[i].file_extn_nm; |
|
156 | 156 |
} else { |
157 | 157 |
vm.attachFileList.push(vm.fileList[i]); |
158 | 158 |
} |
... | ... | @@ -323,7 +323,16 @@ |
323 | 323 |
} |
324 | 324 |
let reader = new FileReader(); |
325 | 325 |
reader.onload = (e) => { |
326 |
+ const originalThumbnail = this.thumbnailPreview; |
|
326 | 327 |
this.thumbnailPreview = e.target.result; |
328 |
+ |
|
329 |
+ // 파일 확장자 검사 |
|
330 |
+ const fileExtension = file.name.split('.').pop().toLowerCase(); |
|
331 |
+ if (fileExtension === 'jpg') { |
|
332 |
+ alert("JPG, PNG, BMP, GIF, WBMP 확장자파일만 사용하실 수 있습니다."); |
|
333 |
+ this.thumbnailPreview = originalThumbnail; |
|
334 |
+ return; |
|
335 |
+ } |
|
327 | 336 |
|
328 | 337 |
// 이미지크기 확인 |
329 | 338 |
const img = new Image(); |
... | ... | @@ -331,7 +340,7 @@ |
331 | 340 |
img.onload = () => { |
332 | 341 |
if (img.width < MIN_WIDTH || img.height < MIN_HEIGHT) { |
333 | 342 |
alert("썸네일 이미지 크기는 최소 " + MIN_WIDTH + "픽셀" + "x" + MIN_HEIGHT + "픽셀" + "입니다."); |
334 |
- this.thumbnailPreview = null; |
|
343 |
+ this.thumbnailPreview = originalThumbnail; |
|
335 | 344 |
} else { |
336 | 345 |
this.deleteFileList.push(...this.oldThumbnailFileList.filter(file => file.file_ty === 'thumbnail')); |
337 | 346 |
this.deleteCount += 1; |
... | ... | @@ -342,6 +351,7 @@ |
342 | 351 |
}; |
343 | 352 |
}; |
344 | 353 |
reader.readAsDataURL(file); |
354 |
+ |
|
345 | 355 |
} else { |
346 | 356 |
vm.insertFileList.push(fileItem) |
347 | 357 |
} |
--- client/views/pages/admin/wgcommunity/WgSelectOne.vue
+++ client/views/pages/admin/wgcommunity/WgSelectOne.vue
... | ... | @@ -176,7 +176,7 @@ |
176 | 176 |
|
177 | 177 |
downloadFile: function (item) { |
178 | 178 |
const vm = this; |
179 |
- let path = item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm; |
|
179 |
+ let path = item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm; |
|
180 | 180 |
axios({ |
181 | 181 |
url: '/file/downloadFile.json', |
182 | 182 |
method: 'post', |
--- client/views/pages/user/community/News.vue
+++ client/views/pages/user/community/News.vue
... | ... | @@ -9,7 +9,7 @@ |
9 | 9 |
<ul class="news-bos"> |
10 | 10 |
<li class="news-bos-box" v-for="(item, idx) in postList" :key="idx" @click="openModal(item)"> |
11 | 11 |
<div class="modal-img"> |
12 |
- <img :src="'http://localhost:8088' + item.file_path + '\\thumbnail_' + item.file_nm + '.' + item.file_extn_nm" |
|
12 |
+ <img :src="'http://localhost:8088' + item.file_path + '/thumbnail_' + item.file_nm + '.' + item.file_extn_nm" |
|
13 | 13 |
alt="thumbnail" /> |
14 | 14 |
</div> |
15 | 15 |
<div> |
... | ... | @@ -157,7 +157,7 @@ |
157 | 157 |
|
158 | 158 |
downloadFile: function (item) { |
159 | 159 |
const vm = this; |
160 |
- let path = item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm; |
|
160 |
+ let path = item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm; |
|
161 | 161 |
axios({ |
162 | 162 |
url: '/file/downloadFile.json', |
163 | 163 |
method: 'post', |
--- client/views/pages/user/community/NoticeOne.vue
+++ client/views/pages/user/community/NoticeOne.vue
... | ... | @@ -162,7 +162,7 @@ |
162 | 162 |
|
163 | 163 |
downloadFile: function (item) { |
164 | 164 |
const vm = this; |
165 |
- let path = item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm; |
|
165 |
+ let path = item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm; |
|
166 | 166 |
axios({ |
167 | 167 |
url: '/file/downloadFile.json', |
168 | 168 |
method: 'post', |
--- client/views/pages/user/main/Main.vue
+++ client/views/pages/user/main/Main.vue
... | ... | @@ -150,7 +150,7 @@ |
150 | 150 |
}" :modules="modules" class="mySwiper"> |
151 | 151 |
<swiper-slide v-for="(item, idx) in postList" :key="idx"> |
152 | 152 |
<div class="modal-img" @click="openModal(item)"> |
153 |
- <img :src="'http://localhost:8080' + item.file_path + '\\thumbnail_' + item.file_nm + '.' + item.file_extn_nm" |
|
153 |
+ <img :src="'http://localhost:8080' + item.file_path + '/thumbnail_' + item.file_nm + '.' + item.file_extn_nm" |
|
154 | 154 |
alt="thumbnail" /> |
155 | 155 |
<p>{{ item.post_title }}</p> |
156 | 156 |
</div> |
--- client/views/pages/user/mypage/Info.vue
+++ client/views/pages/user/mypage/Info.vue
... | ... | @@ -49,7 +49,7 @@ |
49 | 49 |
<section> |
50 | 50 |
<p> |
51 | 51 |
<!-- <img src="../../../../resources/jpg/zigaksa.jpg" alt=""> --> |
52 |
- <img :src="'http://localhost:8080' + logoFile.file_path + '\\' + logoFile.file_nm + '.' + logoFile.file_extn_nm" |
|
52 |
+ <img :src="'http://localhost:8080' + logoFile.file_path + '/' + logoFile.file_nm + '.' + logoFile.file_extn_nm" |
|
53 | 53 |
width="100%" alt=""> |
54 | 54 |
</p> |
55 | 55 |
</section> |
... | ... | @@ -125,7 +125,7 @@ |
125 | 125 |
{{ cardFile.real_file_nm }} |
126 | 126 |
</a> |
127 | 127 |
<div class="matchingbox-img"> |
128 |
- <img :src="'http://localhost:8080' + cardFile.file_path + '\\' + cardFile.file_nm + '.' + cardFile.file_extn_nm" |
|
128 |
+ <img :src="'http://localhost:8080' + cardFile.file_path + '/' + cardFile.file_nm + '.' + cardFile.file_extn_nm" |
|
129 | 129 |
width="100%" alt=""> |
130 | 130 |
</div> |
131 | 131 |
|
... | ... | @@ -306,7 +306,7 @@ |
306 | 306 |
|
307 | 307 |
downloadFile: function (item) { |
308 | 308 |
const vm = this; |
309 |
- let path = item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm; |
|
309 |
+ let path = item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm; |
|
310 | 310 |
axios({ |
311 | 311 |
url: '/file/downloadFile.json', |
312 | 312 |
method: 'post', |
--- client/views/pages/user/mypage/MatchingManager.vue
+++ client/views/pages/user/mypage/MatchingManager.vue
... | ... | @@ -46,7 +46,7 @@ |
46 | 46 |
<div class="inbox-img inbox-img-blur" v-for="(item, idx) in pickReceptionList" :key="idx"> |
47 | 47 |
<h4>{{ item.company_nm }}</h4> |
48 | 48 |
|
49 |
- <img :src="'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm" |
|
49 |
+ <img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm" |
|
50 | 50 |
alt="명함박스"> |
51 | 51 |
<div v-if="!item.complete_yn"> |
52 | 52 |
<button @click="pickModal(item)" class="blue-btn">수락</button> |
... | ... | @@ -65,7 +65,7 @@ |
65 | 65 |
<div class="inbox-sub"> |
66 | 66 |
<div class="inbox-img" v-for="(item, idx) in pickDispatchList" :key="idx"> |
67 | 67 |
<h4>{{ item.company_nm }}</h4> |
68 |
- <img :src="'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm" |
|
68 |
+ <img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm" |
|
69 | 69 |
alt="명함박스"> |
70 | 70 |
<div v-if="item.refuse_yn === 'N'" class="inbox-button"> |
71 | 71 |
<button class="dark-gray-btn">응답대기중</button> |
... | ... | @@ -85,7 +85,7 @@ |
85 | 85 |
<div class="inbox-sub"> |
86 | 86 |
<div class="inbox-img" v-for="(item, idx) in pickCompleteList" :key="idx"> |
87 | 87 |
<h4>{{ item.company_nm }}</h4> |
88 |
- <img :src="'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm" |
|
88 |
+ <img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm" |
|
89 | 89 |
alt="명함박스"> |
90 | 90 |
<div class="inbox-button"> |
91 | 91 |
<button v-if="item.matching_yn" class="gray-btn">신청 완료</button> |
... | ... | @@ -108,7 +108,7 @@ |
108 | 108 |
<div class="inbox-sub"> |
109 | 109 |
<div class="inbox-img" v-for="(item, idx) in matchingReceptionList" :key="idx"> |
110 | 110 |
<h4>{{ item.company_nm }}</h4> |
111 |
- <img :src="'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm" |
|
111 |
+ <img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm" |
|
112 | 112 |
alt="명함박스"> |
113 | 113 |
<div v-if="!item.complete_yn"> |
114 | 114 |
<button @click="matchingAcceptModal(item)" class="blue-btn">수락</button> |
... | ... | @@ -127,7 +127,7 @@ |
127 | 127 |
<div class="inbox-sub"> |
128 | 128 |
<div class="inbox-img" v-for="(item, idx) in matchingDispatchList" :key="idx"> |
129 | 129 |
<h4>{{ item.company_nm }}</h4> |
130 |
- <img :src="'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm" |
|
130 |
+ <img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm" |
|
131 | 131 |
alt="명함박스"> |
132 | 132 |
<div v-if="item.refuse_yn === 'N'"> |
133 | 133 |
<button class="dark-gray-btn" >응답대기중</button> |
... | ... | @@ -144,7 +144,7 @@ |
144 | 144 |
<div class="inbox-sub" v-for="(item, idx) in matchingCompleteList" :key="idx"> |
145 | 145 |
<div class="inbox-img inbox-img-logo"> |
146 | 146 |
<h4>{{ item.company_nm }}</h4> |
147 |
- <img :src="'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm" |
|
147 |
+ <img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm" |
|
148 | 148 |
alt="명함박스"> |
149 | 149 |
<div v-if="item.use_yn === 'Y'"> |
150 | 150 |
<button @click="matchingResetModal(item)" class="red-btn" >매칭 취소</button> |
... | ... | @@ -421,7 +421,7 @@ |
421 | 421 |
|
422 | 422 |
cardView: function (item) { |
423 | 423 |
this.company_nm = item.company_nm; |
424 |
- this.cardFullPath = 'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm; |
|
424 |
+ this.cardFullPath = 'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm; |
|
425 | 425 |
this.isVisible = true |
426 | 426 |
}, |
427 | 427 |
|
--- client/views/pages/user/networking/Matching.vue
+++ client/views/pages/user/networking/Matching.vue
... | ... | @@ -38,7 +38,7 @@ |
38 | 38 |
@click="companySelectOnePage(item)"> |
39 | 39 |
<h3>{{ item.company_nm }}</h3> |
40 | 40 |
<div class="matchingbox-img"> |
41 |
- <img :src="'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm" |
|
41 |
+ <img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm" |
|
42 | 42 |
width="100%" alt=""> |
43 | 43 |
</div> |
44 | 44 |
<p class="content-detail">{{ company_simple_info }}</p> |
--- client/views/pages/user/networking/MatchingOne.vue
+++ client/views/pages/user/networking/MatchingOne.vue
... | ... | @@ -72,7 +72,7 @@ |
72 | 72 |
<button class="join-text-bt3" @click="closePickListMadal">X</button> |
73 | 73 |
</div> |
74 | 74 |
<table class="mat-modal-img" v-for="(item, idx) in pickSelectList" :key="idx"> |
75 |
- <td><img :src="'http://localhost:8080' + item.file_path + '\\' + item.file_nm + '.' + item.file_extn_nm"></td> |
|
75 |
+ <td><img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm"></td> |
|
76 | 76 |
<td> |
77 | 77 |
{{ item.company_nm }} |
78 | 78 |
</td> |
... | ... | @@ -172,7 +172,7 @@ |
172 | 172 |
|
173 | 173 |
downloadProfile: function () { |
174 | 174 |
const vm = this; |
175 |
- let path = vm.company.file_path + '\\' + vm.company.file_nm + '.' + vm.company.file_extn_nm; |
|
175 |
+ let path = vm.company.file_path + '/' + vm.company.file_nm + '.' + vm.company.file_extn_nm; |
|
176 | 176 |
axios({ |
177 | 177 |
url: '/file/downloadFile.json', |
178 | 178 |
method: 'post', |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?