// Ajax 파일 다운로드
jQuery.download = function(url, data, method){
// url과 data를 입력받음
if( url && data ){
// data 는 string 또는 array/object 를 파라미터로 받는다.
data = typeof data == 'string' ? data : jQuery.param(data);
// 파라미터를 form의 input으로 만든다.
var inputs = '';
jQuery.each(data.split('&'), function(){
var pair = this.split('=');
inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
});
// request를 보낸다.
jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
.appendTo('body').submit().remove();
};
};
*** 폼을 동적으로 그리고 submit한 후 폼을 remove한다.
실행예
$.download('testExcelDownload.do','find=commoncode','post' );
물런 data에 file명을 쓰는 현명한 행동을 하지 않길 바란다..
Ajax를 이용한 파일 다운로드
2012. 1. 31. 10:06
vim, vi 에디터에서 ^M 삭제하기
2012. 1. 31. 10:05
Vim, Vi 에디터에서 HTML 같은 텍스트 파일을 열어보면 각 행의 끝에 ^M 이런 이상한 기호가 붙어 있는 경우가 있습니다. 캐럿 기호 + 대문자 M으로 되어 있습니다. 이것은 개행문자 즉 줄바꿈 문자가 깨진 흔적입니다. 주로, 같은 파일 안에 "유닉스 개행문자"와 "도스 개행문자"가 섞여 있을 때 이런 현상이 발생합니다. 다음은, 이 ^M 기호를 치환(바꾸기) 기능으로 지우는 방법입니다.
Vim 에서 Esc키를 한 번 눌러 명령어 모드로 나온 후, 다음의 정규식을 입력합니다. 복잡한 정규식은 아니고, 각행의 끝($)에 있는 ^M 기호를, 모두(g) 공백(//)으로 바꾸는(%s) 것입니다.
:%s/^M$//g
주의! 그런데 위의 정규식에서 빨간색으로 된 ^M 이라는 문자열을 직접 글자 그대로 타이핑하면 안됩니다. 반드시 키보드의 Ctrl+V 키와 Ctrl+M 키를 눌러서 간접적으로 입력해야 합니다. Ctrl키를 누른 상태에서 vm 이라는 2글자를 소문자로 연속으로 입력하면 됩니다.
그러면 이제 텍스트 파일의 모든 ^M 기호가 깨끗이 삭제되었을 것입니다. 파일은 유닉스 텍스트 Unix Text 로 변환됩니다.
다만, 위의 방법은 리눅스나 유닉스의 Vim, Vi 에디터에서만 되고, 윈도우용 VIM 이나 GVIM 에서는 잘 안됩니다. 윈도우용 VIM 에서는 Ctrl+V 키가 "붙여 넣기"키로 정의되어 있는 경우가 많기 때문입니다.