견적서 첨부파일 확장자 체크 드래그&드랍도 적용

This commit is contained in:
basssy 2025-02-25 09:22:56 +09:00
parent eb751af432
commit 7ebe77c763

View File

@ -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"