2012-02-06 3 views
0

가능한 중복 :
Force Download an Image Using Javascript자동으로 이미지를 다운로드하는 자바 스크립트 답변이 있습니까?

는 기본적으로 난 그냥 이미지를 다운로드 버튼을 클릭하고 다운로드 할 수있는 사용자에 대한 옵션을 갖고 싶어 (오히려 마우스 오른쪽 단추로 클릭하거나 드래그를 가진 가진 드롭). 나는 PHP 솔루션을 제공하는 여기에 또 다른 게시물을 읽었지만, 이것이 자바 스크립트에서 완전히 할 수 있다면 나는 그 옵션을 많이 선호 할 것이다. 그래서, 할 수 있습니까?

+0

많은 제한이 있지만 뭔가를 생각해 냈습니다. 중복 질문에서 [내 대답] (http://stackoverflow.com/a/9158343/447356)을 참조하십시오. –

답변

1

브라우저는 항상 사용자가 제공 한 내용을 해석하려고 시도한다. 브라우저가 생각하면, 브라우저는 그것을 처리 할 수 ​​있고, 그에 따라 행동을 취할 것입니다. 이미지의 경우 - 그것을 표시하십시오. 그 행동을 바꿀 수는 없습니다. 브라우저에 "다운로드"옵션을 표시하도록하는 "잘못된"콘텐츠 유형을 설정하는 것으로 생각하는 콘텐츠가 아니라는 것을 알려줌으로써 브라우저를 트릭 할 수 있습니다. javascript를 통해 새 창에서 이미지를 열 수 있으며 사용자가 rightclick/as로 다운로드하도록 할 수 있습니다.

+0

아무도 대답을 못했고 자신감이있는 것 같아서 나는 그 말을 듣겠습니다. 고맙습니다. – Ian

1

강제로 새 창에서 열 수 있습니다.

$('img.class').click(function(){ 
window.open($(this).href,'image');}); 

브라우저는 여전히 이미지로 렌더링합니다. 이미지를 다운로드 할 때마다 다운로드 링크를 실행하는 .htacess를 다운로드하거나 사용하도록 컨텐츠 처리를 설정하지 않고 브라우저가 이미지를 다운로드하도록 할 수는 없습니다. 나는 서버 측 해결책을 알려줄 수는 있지만, 그것이 당신이 원하는 것이라고 생각하지 않는다.

+1

+1, 단순하고 우아합니다. 이미지와 직접 연결되는 앵커 요소를 사용하여 이것을 기본값으로 사용하고 있습니다. javascript가 활성화되어 있지 않으면 일반 링크가 열리 며 그렇지 않으면 다음과 같이 실행됩니다 :'$ ('. anchor-class'). click (function (e) {e.preventDefault(); window.open ($ this). attr ('href'));}); ' – brasofilo

+0

서버 측 솔루션이 도움이 될 수 있습니다. –

관련 문제