Php 如何预览长格式的图像

Php 如何预览长格式的图像,php,jquery,ajax,Php,Jquery,Ajax,我想在上传一张图片之前先预览一下,然后再上传一张有名字、年龄等字段的表单。我已经尝试过ajax解决方案。代码可以独立运行。 但是当我把代码放入表单时,它就不起作用了。请帮助我 代码如下: 通过Ajax进行图像预览的独立代码 <form id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'> Upload your image <input type="file" na

我想在上传一张图片之前先预览一下,然后再上传一张有名字、年龄等字段的表单。我已经尝试过ajax解决方案。代码可以独立运行。 但是当我把代码放入表单时,它就不起作用了。请帮助我

代码如下: 通过Ajax进行图像预览的独立代码

 <form id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
Upload your image <input type="file" name="photoimg" id="photoimg" />
</form>

上传你的图片
我的表格是

<form name="iupload" action="index.php" method="post" >
Name <input type="text" name="myname" ><br/>
Age <input type="text" name="age" >
 <input type="file" name="photoimg" id="photoimg" />

<input type="submit" name="submit" value="upload">

<div id='preview'>
</div>

</form>

名称
年龄
您无法在浏览器中预览本地图像。浏览器无法访问本地文件系统。您需要使用Flash、Java或Active-X插件来执行此操作

您尝试过其他AJAX上载插件吗?我亲自尝试过这个,它对我有效

这里还有一个关于如何使用它的教程:


我想说的是,您可以在上传到所有支持、和旧版本IE(版本7及以下)的浏览器之前显示本地图像

使用文件API,可以使用以下方法获取本地blob。IE8测试版引入了一个“伪造文件”来隐藏本地文件URL,以修复所解释的安全问题。但在旧版本中,您应该能够“利用”这个安全漏洞

像这样的东西可以工作():


您通常不需要这样做,因为浏览器的“文件选择”对话框显示了一个缩略图和有关文件的信息。@hakre用户需要查看上传图像(化身)的预览。您无法使用javascript访问
元素的值。出于安全原因,这是被阻止的。所以你不能在这里创造任何东西。您可能正在寻找一些花哨的HTML5内容,但您的问题并没有说明这一点。请提供一些参考,我认为我们可以通过ajax、php和js来实现。如果浏览器可以访问本地文件系统,这将是一个巨大的安全漏洞。我们会有恶意网页窃取我们的文件。
$('form input[type=file]').change(function() {
    var src;
    if ('files' in this) { // File API supported (webkit/FF)
        var obj = this.files[0];
        src = window.URL ?
            window.URL.createObjectURL(obj) :
            window.webkitURL.createObjectURL(obj);
    } else {
        if (/fake/.test(this.value)) {
            // fallback to whatever (IE8, IE9)
        } else {
            src = this.value; // exploits the IE security hole
        }
    }
    $(new Image()).attr('src',src).appendTo('body'); // the local image!
});