2012-03-21 3 views
0

내 MySQL 데이터베이스에없는 경우 정확히 웹 서버에 이미지를 저장합니까? 이미지를 BLOB로 DB에 저장하는 것은 나쁜 습관이라고 들었습니다.웹 서버의 파일 시스템에 이미지를 저장하는 위치

또한 이러한 이미지에 대한 참조를 DB에 저장하는 방법은 무엇입니까? 내가 food_items 테이블을 가지고 있다면 테이블이 이렇게 생겼을까요?

음식 품목

아이디 | 이름 | 설명 | 가격 | ImageURL

1 | 닭고기 | 맛있는 | 100 | www.myurl.com/folderwithimages/image.jpg ??

감사

+2

, 각 데이터 항목에 대해 동일한 데이터를 저장하는 것은 의미하지 않습니다 : // 또는 절대 문서 루트의 경로 (/folderwithimage/image.jpg). 하지만 네, 데이터베이스입니다. 원하는 것을 넣을 수 있습니다. – Cfreak

+0

CDN은 어떻습니까? 그들은 모든 종류의 캐싱과 지리적 위치 최적화 된 것들을 제공합니다. 그리고 정적 파일을 다루는 웹 서버를 허둥지둥하게하지 않을 것입니다. –

답변

1

, 당신은 S3에 이미지를 넣어 권장 높은 것이다. Amazon S3에 관한 몇 가지 문서가 있습니다.

0
나는 데이터베이스 만 이미지 이름을 저장, 및/yoursiteroot/folderwithimages에있는 모든 이미지를 유지하는 것이 좋습니다

.

그 테이블은 좋아 보이지만 나중에 이미지의 경로 또는 URL을 변경하려는 경우 전체 URL을 저장하지 않는 것이 좋습니다. A/이미지의

+0

좋아요, 여러분 모두 상대 URL을 사용하라고 말하고 있습니다. 어떻게 URL을 연결하면됩니까? myurl.com/mysiteroot/folderwithimages를 추가 할 때와 마찬가지입니다. myurl.com 부분은 어디서 제공됩니까? 덕분에 기본 URL "myurl.com/mysiteroot/"당신이 당신의 DB에 저장되어있는 파일 이름을 연결하는 DB보기를 사용 – Apollo

0

스토어 이미지는 이미지의 전체 URL을 저장하지 않는 데이터베이스에서 웹 서버

에 파일 시스템에 폴더. 상대 URL을 이미지에 저장하면 도메인이 변경되면 데이터베이스를 다시 업데이트 할 필요가 없습니다. 이 웹 서버 인 경우

/images/image.jpg

0

db를 사용하여 이미지를 저장하는 것을 피하는 것이 좋습니다. 데이터베이스의 이미지를 유지하면 데이터베이스 성능이 저하되고 크기와 백업이 증가하며 클라우드 서비스를 사용하는 경우 비용 문제가 발생합니다. .

이 목적으로 S3 또는 Yahoo를 사용하십시오. 남은 유일한 일은 사이트 응용 프로그램이이 서비스 (db 및 Images 서비스)를 모두 연결하는 것인데, 나는 this tool을 사용했습니다.

스토어 각각의 이미지가 diffrent 위치에있는 경우에만 전체 경로, 그것은 당신은 HTTP 포함한 전체 URL을 저장해야 하나

+0

, 또는 당신은 내가 제안 도구를 사용할 수 있습니다, 당신은 몇 가지 구성이 필요합니다. – eelis

관련 문제