javascript로 여러 파일 다운로드 하기
web/javaScript

javascript로 여러 파일 다운로드 하기

반응형

회사에서 프로젝트를 진행하다가 
자바스크립트로 여러 파일을 동시에 다운받게 할 일이 있었다.

기존에 다음과 같이 반복을 통해서 진행하였더니, 정상적으로 동작하지 않았다.
그 이유는 정확히 알지 모르지만 같은 요청을 동시에 요청하는 것을 막는 것 같다.



1
2
3
4
5
6
7
8
<a id="link" href="다운로드 링크"/>
 
<script>
(function() {
  document.getElementById('link').click();
  document.getElementById('link').click();
})();
</script>
cs






코드에 두개를 요청하였으나, 하나만 다운로드가 되는 것을 알 수 있다.




실패에 원인이 제대로 출력되지 않아 정상적으로 확인하기는 어렵다.

[해결법]
이를 바꾸기 위해서는 어느정도에 interval을 주어야 한다.



1
2
3
4
5
6
7
8
9
10
<a id="link" href="https://dl.bandisoft.com/bandizip.kr/BANDIZIP-SETUP-KR.EXE">dd</a>
 
<script>
(function() {
      document.getElementById('link').click();
    setTimeout(function() {
      document.getElementById('link').click();
    }, 4000);
  })();
</script>
cs





이렇게 하면 해결이 되지만, 만약 서버에 request 응답 시간이 지연되면 마찬가지로 되지 않는다.

그럴 경우 promise를 통해 진행하는 것을 추천한다.


참고
https://okky.kr/article/342146

반응형