2014-09-01 5 views
0

내 사진 웹 사이트에서 Amazon S3에 사진을 저장하고 있습니다. 웹 사이트에 실제로 표시하려면 서명 된 URL을 사용하고 있습니다. 이미지 URL이 만료됨을 의미합니다. 웹 응용 프로그램 만 유효한 이미지 파일 URL을 생성 할 수 있습니다.XML을 보호하는 비공개 Amazon S3 URL을 구현하는 방법은 무엇입니까?

URL의 예는 다음과 같이 보일 것이다 : 당신이이 글을 읽을 때 쯤이면, 그 URL이 이미 만료 된 수

http://media.jungledragon.com/images/1849/21346_small.JPG?AWSAccessKeyId=05GMT0V3GWVNE7GGM1R2&Expires=&Signature=9MMO3zEXECtvB0w%2FuMEN8obt1ow%3D

참고. 괜찮습니다. 문제는 형식에 관한 것입니다.

위의 URL 형식은 웹 사이트에서 정상적으로 작동하지만 XML 파일은 손상됩니다. 그 이유는 & 문자로 이스케이프해야합니다.

예를 들어 RSS 피드에 연결할 수있는 웹 사이트 용 Windows 8.1 라이브 타일을 구현하려고합니다. 내 RSS 피드는 여기에 있습니다 :

공급은 대부분의 RSS 리더에서 작동합니다

http://www.jungledragon.com/all/rss/promoted

그러나, 윈도우 8 타일 빌더 (http://www.buildmypinnedsite.com/en)는 XML이 유효 것에 대해 특히 엄격하다. 여기에서 당신은 말했다 피드에 발생 오류를 볼 수 있습니다

http://notifications.buildmypinnedsite.com/?feed=http://www.jungledragon.com/all/rss/promoted&id=1

지금, 나의 단순한 생각 & 또는 &에 의해 서명 된 URL의 일부인 &을 인코딩하는 것이었다. XML을 유효하게 만들 수는 있지만 불행하게도 S3는 &을 인코딩 할 수 없습니다. 이와 같이 사용하면 이미지가 더 이상로드되지 않습니다.

해결할 수없는 순환 문제인지 궁금합니다.

답변

0

나는 RSS 피드에서 많은 유사한 문제를 겪었습니다. XML 문서는 항상 & (또는 & 또는 &과 같은 의미)을 사용해야합니다. 독자가 URL을 제대로 추출 할 수없는 경우 독자가 범인이며 사용자는 아닙니다. 그러나 나는 독자 프로그래머가 당신과 의견이 다를 것이라고 말할 수 있습니다.

프로그래머라면 리디렉션을 사용하여 문제를 해결할 수 있지만 약간의 작업입니다. S3에서 URL을 검색하여 데이터베이스에 저장하고 http://www.jungledragon.com/images/123과 같은 URL을 웹 사이트에 만들고 S3 URL을 이미지/123 페이지와 연결하십시오. 이제 이미지/123 페이지로 이동하면 S3 서버에서 저장 한 URL을 검색합니다.

실제로 http://www.jungledragon.com/images/123 URL이 내 이미지에 대한 참조 인 경우 해당 시간에 S3 URL을 가져 와서 즉시 리디렉션을 수행 할 수 있습니다.