[JS] 멀티 파일다운로드 꽁수로 구현하기

다중 파일 다운로드를 스크립트 꽁수로 구현해봅니다.
몇 줄 안되는 소스를 보면 알겠지만, 보이지 않는 iframe을 생성해서 경로를 걸어주는 게 전부입니다.

간단하게 멀티 파일다운로드를 구현할 수 있다는 것 이외엔 장점이 별로 없는 꽁수입니다(꽁수는 꽁수일뿐~). ^^;;;

이 부분이 소스입니다.

/**
* by 행복한고니(20041007)
*/
function mdown(N)
{
var objs = document.getElementsByName(N);
var Body = document.getElementsByTagName('BODY')[0];
var j;

for (var i=j=0; i < objs.length; i++) { if (!objs[i].checked) continue; if (mdown.fList[j] == undefined) { mdown.fList[j] = document.createElement("IFRAME"); mdown.fList[j].style.display = 'none'; Body.appendChild(mdown.fList[j]); } mdown.fList[j].src = mdown.GetURL(objs[i].value); j++; } } mdown.fList = []; //---------------------------------------------------------------- // 사용자 정의 함수 구현부 //---------------------------------------------------------------- mdown.GetURL = function(val) { // 이 함수를 각자의 프로그램 사양에 따라 적당히 만들어주세요. // 체크박스에 있던 value 값이 val로 전달됩니다. return 'http://mysite.com/download.php?fileid='+val+');'; }

우선 파일 다운로드를 하는 프로그램을 download.php 라고 가정합니다.

이 때, download.php 에서 파일을 다운로드 할 때 download.php?fileid=아이디번호 와 같은 식으로 쓴다고 가정합니다. 이 규칙에 의해서 mdown.GetURL 함수를 사용자가 작성합니다.

스크립트를 포함한 후, 예제 HTML은 다음과 같이 쓸 수 있습니다.

1번 파일
2번 파일
3번 파일
4번 파일

아래가 예제입니다.
[#NOBR_START#]

자바스크립트로 구현한 5kb짜리 울펜슈타인 3D
슬라이딩 메뉴 스크립트 파일
이 팁에 쓰인 파일

[#NOBR_END#]

[##_1C|627285.zip|| 다운로드 받으시려면 클릭! _##]

PS// 매번 자바스크립트 만들때마다 브라우저 호환성을 같이 적었는데, 이제 귀찮네요... -_-;;
앞으로 별다른 설명이 없다면 그냥 최신의 {모질라 계열, 오페라, IE} 에서는 다 된다고 생각해주세요.

  1. 가을이예요.

    자료실 용도로 사용할려고 제로보드 게시판을 주물럭거리던중 행복한 고니님에서 멋진 꽁수(!)를 보고 냉큼 퍼왔습니다.

    감사드립니다.

    좀더 손봐서 좋은 팁으로 발전을…쿨럭..-.-;
    (니 홈피나 완성해랏!~~ =3=3=3=3=3….어디

Leave a Reply