2012-11-06 3 views
0

_ 앞에있는 첫 번째 비트는 핀의 ID입니다 ... ZZtfjmGQ은 무엇에 사용됩니까? _c는 크기와 관련이있는 것으로 추정됩니다.정보의 어떤 비트가 pinterest 이미지 URL에 저장됩니까?

http://media-cache-lt0.pinterest.com/upload/33284484717557666_HZtfjmFQ_c.jpg 

나는 Node.js를에서 이미지 업로드 서비스를 구축하고 이미지를 저장하는 다른 어떤 사이트 궁금 해요.

+0

나는 비슷한 것을 만들었고 이것은 완전히 추측이지만, ID 비트가 이미지 버전에 CDN (UID가있는 하위 도메인을 사용하면 이미지가 CDN). UID가 없으면 CDN이 이미지를 캐시하고 이미지의 모든 변경 사항은 TTL이 만료 될 때까지 입수하지 않습니다. – srquinn

+0

그렇게 생각하지 않았습니까, 아마 맞을 것입니다. 내가 CDN을 가질 때까지는 걱정할 필요가없는 것처럼 들리네. – chovy

+0

탐구의 관심사에서, 마지막 밑줄 뒤에 조금에 대한 어떤 생각? 이미지 크기가 어쩌면? – srquinn

답변

1

최종 이미지는 CDN에서 제공되며 URL의 하위 도메인에서 확인할 수 있습니다. 첫 번째 비트는 이미지의 ID이며 두 번째 비트는 이미지 버전의 캐시 제한을 해결하는 UID이며 마지막 비트는 이미지 크기입니다.

CDN의 제한은 업로드 후 이미지를 처리 ​​할 수 ​​없다는 것입니다. 이 문제를 해결하기 위해 내 서비스는 파일을 내 Nodejs 서버에 업로드 한 다음 이미지를 클라이언트에 다시 제공합니다. 사용자가 자르기 좌표를 서버로 다시 보내고 ImageMagick을 사용하여 업로드 된 이미지의 다양한 크기를 만드는 데 사용할 수있는 jQuery 스크립트를 사용합니다. 분명히 자르기 단계를 없애고 가로 세로 비율을 사용하여 필요한 이미지 크기를 자동으로 만들 수 있습니다. 그런 다음 최종 사용자에게 호스팅하기 위해 최종 이미지를 CDN에 업로드합니다.

사용자가 이미 CDN에있는 사진을 업데이트해야하는 경우 사용자가 nodejs 서버에 업로드하고 이미지가 처리 및 크기 조정되고 UID 해시가 업데이트 된 다음 CDN에 업로드됩니다. 일을 깨끗하게 유지하려면 (그리고 CDN 비용 절감)이 단계에서 이전 "버전"을 삭제할 수 있습니다. 그러나 필자는 필요한 경우 이전 버전으로 되돌아 갈 수있는 옵션을 제공합니다.

나머지 CRUD 작업은 매우 자명합니다. ID를 사용하여 CDN에서 사용할 수있는 이미지 목록을 읽을 수 있습니다 (내 서비스에는 더 강력한 쿼리 작업을 허용하는 이미지 ID뿐만 아니라 사용자 ID가 있음). 삭제는 삭제하려는 이미지를 식별하는 것만 큼 간단합니다.

관련 문제