2014-10-03 2 views
0

jQuery에서 설정 한 이벤트 리스너가 있습니다 $('#file').on("change", function() {});.

이미지가 추가 된시기를 감지합니다.

이미지 원본 : data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ... 플러그인이 수행합니다.

작성한 이미지를 HTML 형식의 파일 업로드 입력으로 보내려합니다. 어떻게해야합니까?

+0

직접 해보려고 했습니까? – hindmost

+0

나는 무엇을해야할지 모르겠다. 나는이 appendet 이미지를 양식 입력에 보내고 싶다. 내 jquerry는 그다지 좋지 않다 – LazyPeon

+1

나는 base64 문자열로 이미지를 가지고 있다는 것을 이해한다. POST 요청에 regural 입력 필드로 보냅니다. 파일 필드는 사용자 파일 시스템에서 파일을 읽는 것입니다. – Marek

답변

0

숨겨진 입력 필드로 보내지 마십시오. 양식을 게시 한 후에는 PHP를 사용하여 원하는대로 할 수 있습니다. 이 같은 뭔가 :

<script type="text/javascript"> 
$(function(){ 
    $("plugin").change(function(e){ 
     $("input#image").val(e.image); 
    }); 
}) 
</script> 
<form> 
    <input type="hidden" name="image" id="image" /> 
    <input type="submit" /> 
</form> 
<?php 
if(getenv("REQUEST_METHOD") === "POST"){ 
    $image = $_POST["image"]; 
    // do what you want 
} 
?> 

이 테스트를하지 않은,하지만 당신이 가야 도움이 충분해야한다. 이미지를 표시하려면 , 단지 같은 것을 할 :

<img class="thumbnail" src="data:image/gif;base64,R0lGODlh9AEZAdUyAK6VZqBmUNjRrNSon+7"> 
+0

'$ ("input # image") .val (e.image);'내 첨부 된 이미지 데이터를 가져 와서 숨겨진 필드로 보냅니다. ? – LazyPeon

+0

숨겨진 입력 필드는 본질적으로 안전하지 않으므로 업로드 할 파일을 얻기 위해이 파일을 사용하려는 경우 악의적 인 사용자가 자신의 파일을 헤더 정보로 연결하고 강제로 서버에 업로드 할 수 있습니다. – Mark

+0

@LazyPeon jquery 문서에서 읽을 수 있듯이 http://api.jquery.com/val/은 입력 필드의 값을 실제로 변경합니다. – SheperdOfFire

1

다음이 같은 시도 :

<script type="text/javascript"> 
$(function(){ 
    $("plugin").change(function(e){ 
     $("input#image").val(img); 
    }); 
}) 
</script> 
<form> 
    <input type="hidden" name="image" id="image" /> 
    <input type="submit" /> 
</form> 
<?php 
if(getenv("REQUEST_METHOD") === "POST"){ 
    $image = $_POST["image"]; 
    // do what you want 
} 
?> 

당신이주는 더 많은 정보, 더 나은 우리는 당신을 도울 수 있습니다. 또한 실수로 배우는 것처럼 스스로 시도해 볼 가치가 있습니다.

+0

'SecurityError : 작업이 안전하지 않습니다.'내 consoel 로그를 읽습니다. – LazyPeon

+1

3 가지 옵션이 있습니다 : 1. 코드로 jsfiddle을 만드십시오. 2. 직접 디버깅 해보십시오. 3. 코드와 목표에 대한 더 많은 정보를 제공하십시오. – SheperdOfFire

+0

우리는 여기서 올바른 방향으로 가고 있었지만 새로 생성 된 base64 문자열은 양식 필드에 삽입 될 수없는 것으로 보입니다. 보안 경고가 나타납니다. Codeigniter를 사용하고 있습니다. 아마도 이것이 문제입니다. – LazyPeon

관련 문제