티스토리 뷰

html

<div class="filebox">
    <input class="upload-name" value="첨부파일" placeholder="첨부파일" readonly>
    <label for="file">파일찾기</label> 
    <input type="file" id="file">
</div>

css

//input 스타일 변경
.filebox .upload-name {
    display: inline-block;
    height: 40px;
    padding: 0 10px;
    vertical-align: middle;
    border: 1px solid #dddddd;
    width: 78%;
    color: #999999;
}

//label 스타일 변경
.filebox label {
    display: inline-block;
    padding: 10px 20px;
    color: #fff;
    vertical-align: middle;
    background-color: #999999;
    cursor: pointer;
    height: 40px;
    margin-left: 10px;
}

//기존 디자인 없애기
.filebox input[type="file"] {
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
}

script

$("#file").on('change',function(){
  var fileName = $("#file").val();
  $(".upload-name").val(fileName);
});

버튼 커스텀 + 불러온 파일 경로값을 input에 담아주어야 함

https://velog.io/@sklove96/inputtypefile-%EC%BB%A4%EC%8A%A4%ED%85%80%ED%95%98%EA%B8%B0
https://helloinyong.tistory.com/275
https://gahyun-web-diary.tistory.com/83