//url : 다운로드 할 이미지 전체
//ex) chrome://new-tab-page/icons/google_logo.svg
//filename : 사용자가 파일을 내려받았을 때 보여지는 파일명
function fn_isValidHttpsURL(url , filename){
// url.match : url형식에 맞는지 확인
var res = url.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g);
//url형식이 맞다면~
if(res !== null){
$.ajax({
type:"get"
,url : url
,success : function(response,status,xhr){
//추가로 상태값확인해도 됨. + content-type이 이미지인가?
var ct = xhr.getResponseHeader("content-type") || "";
if(ct.indexOf('image/') > -1){
//이미지가 맞으면 다운로드
fn_imageDownload(res,filename);
}
}
})
}
}
function fn_imageDownload(res,filename){
var element = document.createElemnet('a');
element.setAttribute('href',imageURL);
element.setAttribute('download',filename);
document.body.appendChild(element);
element.click(); //다운로드
document.body.removeChild(elemnet);
}
반응형
'차근차근 > JAVA Script' 카테고리의 다른 글
input type file.. 여러 건 업로드 (2) | 2022.09.16 |
---|---|
붙여넣기 이벤트 감지 후 클립보드 내용 변경하기 - 안됨 (0) | 2022.09.05 |
viewport remove (0) | 2022.05.06 |
sort() (0) | 2022.04.07 |
datatables 수정하기 (0) | 2022.02.16 |