2012-02-21 3 views
1

내 사이트에 이미지가있는 페이지가 있습니다. 이미지를 마우스 오른쪽 버튼으로 클릭하고 Save Image As을 클릭하면 기본 이름으로 표시됩니다. 마우스 오른쪽 버튼으로 이미지 이름을 변경하고 저장하고 싶습니다. 자바 스크립트의 기본 이미지 확장명 변경

은, 예를 들면 : 내 HTML 코드에서
내가 image src="abc.jpeg"

내가 마우스 오른쪽 버튼을 클릭
을 가지고, 나는이 이미지는 def.jpg로 저장하고 싶습니다.

이 방법이 있습니까?

+0

물론, 왜이 작업을 수행 하시겠습니까? – Bergi

답변

-1

당신은 이미지

<img src=".." onClick="this.src='new URL'"> 

에 넣고 또는 자바 스크립트으로 그렇게 할 수 없습니다 당신은 내가 아는 한 별도의 기능

<img src=".." onClick="change(this)"> 
// 
<script> 
function change(img) { 
img.src = 'new src'; 
} 
</script> 
+0

"이미지를 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 이미지 저장을 클릭하면"클릭하지 않고 다른 src로 변경하십시오. –

+0

나는 그것이 일할 수 있다고 생각하지 않는다 .... this.src = '새로운 URL'이 URL을 바꿀 것이기 때문에 ..... 그리고 저장 중에 이미지 이름이 바뀌어야 만한다. –

+0

@alickus oh right sorry xD You 그것을 얻으려면 자바가 필요합니다. – Edig

1

에 그것을 할 수 있습니다. 이것은 서버 측에서만 처리 할 수 ​​있습니다.

PHP를 사용하는 경우 간단한 해결책은 header()을 사용하는 것입니다.

// It will be called downloaded.pdf 
header('Content-Disposition: attachment; filename="downloaded.pdf"'); 

물론 변수로 download.pdf를 대체 할 수 있습니다. PHP는 문서에서

header('Content-Disposition: attachment; filename="' . $fileName .'"'); 

:

원하는 경우 사용자는 전송중인 데이터, 은 생성 된 PDF 파일로, 당신은»내용 - 처리를 사용할 수 있습니다을 저장하라는 메시지가 표시된다 헤더를 사용하여 권장 파일 이름을 제공하고 브라우저에 을 강제 저장 대화 상자로 표시하십시오.

+0

** 언급 한 내용이 ** 파일 다운로드 **에 적용됩니다. 이것은 순전히 자바 스크립트 일입니다. 컨텍스트 메뉴는 기본값을 비활성화하여 편집 할 수 있습니다. – SachinGutte

+0

고맙습니다 나에게 예제를 줄 수 있습니까 ?? 무슨 html 및 PHP 코드가 될 것입니다 –

+0

@ Liyali 질문은 다른 이름으로 이미지 파일을 저장하는 질문입니다. 컨텍스트 메뉴를 비활성화 할 수 있으며 특정 elemetn 및 execCommand를 클릭하면 다른 이름으로 저장할 수있는 ** "저장"** 대화 상자를 열 수 있습니다. RTE는 워드 프레스와 다른 CMS의 TinyMCE와 마찬가지로 execCommands를 사용합니다. execCommand가 브라우저에 따라 동작이 다른 경우에만주의를 기울여야합니다. – SachinGutte

0

모든 브라우저에서 지원하지는 않습니다 (일부에서는 상황에 따른 메뉴를 사용하지 않도록 선택할 수도 있음). 왜 그렇게하고 싶어?

엄지 손가락의 큰 버전에 연결하고 싶습니다. 따라서 이미지 태그 주위에 링크 (<a>)를 넣으면 모든 사람이 행복해집니다. 설명이 담긴 툴팁으로 링크를 표시하면 더 좋을 것입니다.


편집 : 이미 페이지에 포함 된 이미지가있는 경우

, 당신은 [다른 이름으로 저장]을 클릭하면 사용자 에이전트가 제공 할 것입니다 기본 제목을 변경할 수 없습니다. 포인트, 예외 없음.

브라우저는 다운로드 경로의 파일 이름을 사용합니다. src 속성을 다른 파일을로드하기 때문에 (스크립트에 의해) src 속성을 동적으로 변경할 수 없습니다. 당신이 할 수있는 일은 이미 파일명이 적힌 파일들을 가지고 페이지를 전달하는 것이지만, 서버에서 끝내야합니다.

그래서 옵션 # 2가 (새) 파일 다운로드를 시작합니다. Content-Disposition 헤더에서 동적으로 (서버에서) 보낸 컨텐츠의 파일 이름을 제안 할 수 있습니다.다운로드를 시작하려면 링크로 이미지를 래핑하면됩니다 (href 속성을 변경할 수도 있습니다). 또는 다운로드 링크를 [다른 이름으로 저장] 버튼으로 표시하는 사용자 정의 컨텍스트 메뉴를 만들 수도 있습니다 (그렇게하는 방법은 다른 질문의 문제 일 수 있음).

옵션 3은 새 탭/창에서 파일을 열고 document.execCommand("SaveAs", [...])을 적용한 다음 탭/창을 다시 닫습니다. 불행히도 이것은 Internet Explorer에서만 지원됩니다. 이 내용과 제안 사항은 Does execCommand SaveAs work in Firefox?을 참조하십시오.

+0

고맙지 만 src와는 다른 이름으로 이미지를 저장하고 싶습니다. 파이어 폭스와 크롬에서만 구현되기를 원합니다 ..... –

+0

자바 스크립트로 다운로드 할 때 "파일 이름"을 설정할 수 없습니다. 다운로드 대화 상자에서 받아 들일 특정 헤더 (위의 @Liyali 참조)를 보내야합니다. 컨텍스트 메뉴 -> [다른 이름으로 저장]은 변경할 수 없습니다. – Bergi

+0

@Maths 두뇌 티저 : 당신은 클라이언트 측을 만들 수 없습니다. 웹 브라우저에는 아무 것도 보이지 않습니다. 단지 서버 측 설정 일뿐입니다. – Liyali

0

잘하는 방법이 있습니다 ..하지만 대부분의 브라우저에서 작동하는지 잘 모르겠습니다. body 태그에 oncontextmenu="return false;" 속성을 추가하십시오. 상황에 맞는 메뉴가 비활성화됩니다 (잘하면?!)!

그리고 사용자 정의 컨텍스트 메뉴를 원한다면 작은 CSS와 스크립트로 처리하십시오. 클릭 이벤트에 대한 이벤트 처리기를 연결하고 왼쪽 또는 오른쪽 클릭이 발생할 때 작업을 수행합니다.

+0

질문은 컨텍스트 메뉴를 변경하거나 비활성화하는 방법이 아니라 행동을 수행하는 방법에 관한 것이 었습니다. – Bergi

관련 문제