2011-04-24 3 views
2

질문에 따르면 모두 : 원격으로 호스팅 된 이미지를 문자열로 가져 오는 방법입니다. 나중에 XMLHTTPPost을 사용하여 콘텐츠를 업로드합니다. 태그 라인을 읽지 않는 사람들에게 이것은 javascript 질문입니다.문자열로 원격 이미지 가져 오기

@Madmartigan : 스크립트 자체가 다소 이상하게 실행됩니다. 사용자는 javascript:을 사용하여 제거 호스트에서 스크립트를 추가합니다. (이것은 사용자 쿠키 세션에 대한 액세스를 제공합니다.이 작업은 진행하기 위해 필요합니다) 이것은 양식을 생성하여 사용자가 일부 텍스트를 설정할 수 있도록합니다. (쉬운 비트입니다) 사용자가 upload을 클릭하면 스크립트는 원격 호스트에서 호스트되는 이미지를 가져와야합니다. 원격 호스트에서 문자열로 이미지를 가져와 다음 함수와 같은 것을 이진으로 변환하려고합니다. 그래서, 어떻게해야합니까? 내가 좋아하는 것을 발견 할 수 있음을

function toBin(str){ 
var st,i,j,d; 
var arr = []; 
var len = str.length; 
for (i = 1; i<=len; i++){ 
       //reverse so its like a stack 
    d = str.charCodeAt(len-i); 
    for (j = 0; j < 8; j++) { 
    st = d%2 == '0' ? "class='zero'" : "" 
    arr.push(d%2); 
    d = Math.floor(d/2); 
    } 
} 
     //reverse all bits again. 
return arr.reverse().join(""); 
} 

내가 언급해야한다, 그러나

var reader = new FileReader(); 
reader.onload = function() { 
    previewImage.src = reader.result; 
} 
reader.readAsDataURL(myFile); 

, 그들은 매우 브라우저에 의존하기 때문에 매우 유용하지 않습니다.

중복 크기 증가로 인해 base64 사용을 피하려고합니다.

+2

"원격 이미지를 문자열로 가져옵니다"라는 메시지가 나에게 모두 전달되지는 않습니다. 나는 당신이하려고하는 것, 더 많은 정보 == 당신을위한 더 많은 도움을 추측 할 수 있습니다. –

답변

1

편집 : 여기를보세요. Take : http://www.nihilogic.dk/labs/exif/ 또는 아마도 여기에 : http://jsfromhell.com/classes/binary-parser 자바 스크립트 컨텍스트에서 바이너리 데이터를 문자열로 저장하는 유일한 방법은 base64/base128 인코딩을 사용하는 것입니다. 그러나 나는 이미지의 경우에는 그렇게하지 않으려 고 노력했다. JavaScript 기반 엔코더/디코더가 많이 있습니다. 희망이 당신을 도와줍니다.

+0

설명보기 Madmartigan에게 전했습니다. – Gajus

+0

확인. 수정 중입니다. – sra

관련 문제