2013-11-20 2 views
1

특정 프로젝트의 경우 Ajax를 통해 작동하는 이미지 관리자를 만들어야합니다 (이미지 목록을 표시하고 표시하는 등).자바 스크립트 업로드 및 실제 이미지 새로 고침/새로 고침

새 이미지 업로드 또는 이미지 수정은 Ajax 스크립트 (새 javascript File API 사용)를 통해 수행됩니다. 업로드가 정상적으로 작동하지만 이미지 수정시 문제가 발생합니다. 업로드 후 브라우저가 표시 한 이미지는 업로드 된 이미지가 아닌 캐시 된 이미지입니다!

저는 'imagesrc? new Date.getTime()'해킹을 통해 해결할 수있는 고전적인 캐시 문제를 알고 있지만 여기서는 사용할 수 없습니다. 사실,이 해킹은 실제로 이미지를 다시로드하지 않고 이미지 URL 'imagesrc? new Date.getTime()'과 연결된 캐시의 이미지 인스턴스 만 새로 만듭니다.

언제든지 이미지 관리자에 '? new Date.getTime()'을 추가하지 않고 이미지 표시를 다시 시도하면 이전 이미지가 다시 표시됩니다. 그리고이 해킹을 체계적으로 추가 할 수 없습니다. 예를 들어 이미지 관리자가 매우 많은 이미지를 많이 표시해야하기 때문에 수정 될 때까지 브라우저 캐시에서 가져 오는 것이 좋습니다.

인터넷에서이 문제를 해결하는 방법을 찾았습니다 (실제로 위의 해킹 대신 자바 스크립트를 업로드 한 후 캐시 된 이미지를 바꿉니다).하지만 아무 것도 발견하지 못했습니다.

이렇게하는 방법이 있습니까, 아니면 완전히 불가능합니까? 도움이나 제안을 크게 주시면 감사하겠습니다. 사전

올리비에

답변

0

에서

많은 감사는 이미지 ETag-headers를 보내도록 서버를 구성합니다.

ETag는 파일을 수정할 때 변경되는 파일의 해시 값입니다. ETag가 전송되면 브라우저는 다음 요청시 해당 요청의 마지막 수신 ETag를 포함하는 If-None-Match 헤더를 추가하고 아무 것도 변경되지 않았 으면 트래픽을 절약하기 위해 서버는 304: not modified으로 응답하고 새 파일을 보냅니다.

관련 문제