2012-10-01 2 views
0

나는 스냅 샷 도구에서 이미지 데이터 URL을 생성하고 결과 문자열을 PHP를 통해 MySQL 데이터베이스에 삽입하는 페이지가 있습니다. 나중에 그 이미지들을 가지고 사용하는 페이지가 있습니다. 이것은 약간의 게시물 처리 및 이미지 데이터 URL의 길이 내게 두통을주고 전체 프로세스 속도가 느려지는 8-10 MB의 HTML 파일을 만드는 내 서버에 결과 HTML을 저장해야 할 제외하면 괜찮을 것입니다. 이미지는 다음과 같이 보입니다.html 이미지 데이터 URL을 호스팅 된 이미지로 변환

<img src="data:image/png:base64,iVBORw0K43+gAA4u..."> 

매우 긴 문자열로 결과 HTML을 매우 크게 만듭니다. 내 서버에서 png로 호스팅 할 수있는 방법이 있나요? 그래서 링크가 정상적으로 보이는 이미지입니까? 이런 식으로 뭔가가 :

<img src="http://www.mysite.com/image1.png"> 
+0

당신을 수 있습니다에게 호출 이미지

function toImage($base_code){ $img_file = imagecreatefromstring(base64_decode($base_code)); imagejpeg($img_file, 'new.jpg'); } 

에 base64로 데이터를 변환하는 Base64 이미지 인코딩 사용 ...? 이것을 시도해보십시오 http://php.net/manual/en/function.base64-decode.php –

답변

2

base64를 원본 이미지로 변환하는 방법은 이미지를 실제 파일로 서버에 저장하는 것입니다.

PHP는

echo toImage($encoded_image); 

이미지 태그없이 단지 base64로 통과 인코딩 된 문자열에 있는지 확인하는 기능

+0

이것은 유망 해 보입니다.이 것을 시험해보고 다시 연락 드리겠습니다. –

0

당신은 다른 곳에서 파일을 저장할 수 있지만, 내 생각 엔 당신이 이미지가 DB에 존재하는 요구 사항을 가지고 있다는 것입니다. 파일을 다른 위치에 저장하면 디스크 요구 사항이 두 배가됩니다.

어쨌든이 일반적인 수정 프로그램은 해당 이미지 문자열을 디스크에 저장하고 DB에서 경로를 추적합니다. 그런 다음 HTML을 생성 할 때 DB의 이진 데이터 대신 DB의 경로를 사용합니다.