견적서 첨부파일 확장자 체크 드래그&드랍도 적용
This commit is contained in:
parent
eb751af432
commit
7ebe77c763
@ -23,10 +23,16 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
|
|
||||||
const fileList = []
|
const fileList = []
|
||||||
let passFlag = true
|
let passFlag = true
|
||||||
|
const allowedFileTypes = [
|
||||||
|
'image/',
|
||||||
|
'application/pdf',
|
||||||
|
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||||
|
'application/vnd.ms-excel',
|
||||||
|
]
|
||||||
Array.from(e.target.files).forEach((file) => {
|
Array.from(e.target.files).forEach((file) => {
|
||||||
let fileType = file.type
|
|
||||||
//엑셀, pdf, 이미지
|
//엑셀, pdf, 이미지
|
||||||
if (!fileType.includes('image') && !fileType.includes('pdf') && !fileType.includes('spreadsheet')) {
|
const fileType = file.type
|
||||||
|
if (!allowedFileTypes.some((type) => fileType.includes(type))) {
|
||||||
passFlag = false
|
passFlag = false
|
||||||
} else {
|
} else {
|
||||||
fileList.push({ data: file, id: uuidv4() })
|
fileList.push({ data: file, id: uuidv4() })
|
||||||
@ -34,7 +40,7 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (!passFlag) {
|
if (!passFlag) {
|
||||||
swalFire({ text: getMessage('estimate.detail.fileList.extCheck'), type: 'alert' })
|
swalFire({ text: getMessage('estimate.detail.fileList.extCheck'), type: 'alert', icon: 'error' })
|
||||||
}
|
}
|
||||||
|
|
||||||
setUploadFiles([...uploadFiles, ...fileList])
|
setUploadFiles([...uploadFiles, ...fileList])
|
||||||
@ -50,10 +56,17 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
const fileList = []
|
const fileList = []
|
||||||
let passFlag = true
|
let passFlag = true
|
||||||
|
const allowedFileTypes = [
|
||||||
|
'image/',
|
||||||
|
'application/pdf',
|
||||||
|
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||||
|
'application/vnd.ms-excel',
|
||||||
|
]
|
||||||
|
|
||||||
Array.from(e.dataTransfer.files).forEach((file) => {
|
Array.from(e.dataTransfer.files).forEach((file) => {
|
||||||
|
//엑셀, pdf, 이미지
|
||||||
let fileType = file.type
|
let fileType = file.type
|
||||||
if (!fileType.includes('image')) {
|
if (!allowedFileTypes.some((type) => fileType.includes(type))) {
|
||||||
passFlag = false
|
passFlag = false
|
||||||
} else {
|
} else {
|
||||||
fileList.push({ data: file, id: uuidv4() })
|
fileList.push({ data: file, id: uuidv4() })
|
||||||
@ -61,7 +74,7 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (!passFlag) {
|
if (!passFlag) {
|
||||||
swalFire({ text: getMessage('estimate.detail.fileList.extCheck'), type: 'alert' })
|
swalFire({ text: getMessage('estimate.detail.fileList.extCheck'), type: 'alert', icon: 'error' })
|
||||||
}
|
}
|
||||||
|
|
||||||
setUploadFiles([...uploadFiles, ...fileList])
|
setUploadFiles([...uploadFiles, ...fileList])
|
||||||
@ -88,16 +101,7 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
<label className="file-upload" htmlFor="img" onClick={handleButtonClick}>
|
<label className="file-upload" htmlFor="img" onClick={handleButtonClick}>
|
||||||
{getMessage('estimate.detail.fileList.btn')}
|
{getMessage('estimate.detail.fileList.btn')}
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input type="file" multiple name="file" ref={fileInputRef} style={{ display: 'none' }} onChange={(e) => onChangeFiles(e)} />
|
||||||
type="file"
|
|
||||||
multiple
|
|
||||||
name="file"
|
|
||||||
id="img"
|
|
||||||
// accept="image/*"
|
|
||||||
ref={fileInputRef}
|
|
||||||
style={{ display: 'none' }}
|
|
||||||
onChange={(e) => onChangeFiles(e)}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className="drag-file-area"
|
className="drag-file-area"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user