2014-10-03 33 views
0

我在jQuery $('#file').on("change", function() {});中設置了一個事件監聽器。

這會檢測何時添加圖像。

圖片來源是:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ...插件做到這一點。

我只是想發送該創建的圖像文件上傳輸入我的html格式。我怎樣才能做到這一點?

+0

你有沒有試圖自己做任何事情? – hindmost 2014-10-03 12:59:38

+0

我不知道該怎麼做大聲笑,我想發送這個appendet圖像到我的表單輸入。我的jquerry不是那麼好 – LazyPeon 2014-10-03 13:00:51

+1

我明白你的圖像是base64字符串。將它作爲POST請求中的規則輸入字段發送。文件字段是從用戶文件系統讀取文件。 – Marek 2014-10-03 13:03:30

回答

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 2014-10-03 13:19:01

+0

值得注意的是,隱藏的輸入字段本質上並不安全,如果您要使用它來獲取要上傳的文件,惡意用戶可能會將自己的文件拼接成標題信息並強制上傳到您的服務器。 – Mark 2014-10-03 13:19:21

+0

@LazyPeon正如你可以閱讀jQuery文檔:http://api.jquery.com/val/它確實會改變你的輸入字段的值。 – SheperdOfFire 2014-10-03 13:22:47

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 2014-10-03 13:36:35

+1

您有3個選項:1.用你的代碼做一個jsfiddle。 2.嘗試自己調試它。 3.提供更多關於你的代碼和目標的信息 – SheperdOfFire 2014-10-03 13:38:47

+0

我們在這裏是正確的,但似乎新創建的base64字符串不能被插入到表單域中,我得到一個安全警告。我使用Codeigniter雖然,也許這是問題 – LazyPeon 2014-10-03 13:40:44

相關問題