2014-10-03 103 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

相关问题