【问题标题】:view the preview of the image before form submit在表单提交之前查看图像的预览
【发布时间】:2013-02-27 09:20:20
【问题描述】:

我正在创建一个社交网站。在用户注册期间有存储图像的规定。我想在用户上传图像时显示图像的预览,然后再提交表单。请帮助我。

这是我在注册部分的代码

<form action="insert_scene.php" 
 method="post" id="sceneform" enctype="multipart/form-data">
<label for="image">Scene Flyer:</label>
<img src="" width="120" height="130" alt="Scene Pic" />
<a href="" onclick="return uploadimg()" > Upload</a></li>
 <input type="file" name="file" id="file" style="display:none;" />
 </form>

javascript 内容是

   function uploadimg()
{
    var uploader = document.getElementById('file');
    uploader.click();
    return false;
}

这是insert_scene.php中的代码段(实际上下面的代码段放在另一个文件中,该文件正在包含在insert_scene.php中)

<?php 
ini_set('memory_limit','128M');
ini_set("post_max_size", "10M");
ini_set("upload_max_filesize", "10M");
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
if ($_FILES["file"]["error"] > 0)
{
  $fileN = '';
 echo 'File Size:' .($_FILES["file"]["size"] / 1024);
}
else
{

$maxImgSize=($_FILES["file"]["size"] / 1024);

if($maxImgSize>=5121 || $maxImgSize==0){

  $fileN = '';
}
else{

move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);

  $fileN="upload/" . $_FILES["file"]["name"];

  while(file_exists($fileN)){
      $fileN="upload/" . md5($fileN).$_FILES["file"]["name"];
  }

  rename("upload/" . $_FILES["file"]["name"], $fileN);


      }
    } 
   ?>
   $scene_flyer = $fileN;

提交表单后,$scene_flyer 获取图片地址。但我想在第一页的表单提交之前显示预览。请帮助我。

【问题讨论】:

  • 我不认为你可以这样做,在发布表单图像之前仍然在本地机器中。但您可以使用 AJAX 并显示图像。
  • @Prasanth Bendra 那么图像的预览如何在 facebook 中显示??
  • 正如我所说,您可以使用 AJAX 来完成,当用户选择图像时,它将被上传到服务器,并显示在那里。用户稍后提交表单
  • @PrasanthBendra 你能建议我任何代码sn-ps

标签: php javascript image-upload


【解决方案1】:

改进您的代码并使用 jQuery uploadify。

http://www.uploadify.com/demos/

然后在 OnUploadSuccess 事件中写一些简单的代码:

http://www.uploadify.com/documentation/uploadify/onuploadsuccess/

【讨论】:

  • 这个也可以用来上传图片。其实我也需要显示图片
  • php 上传脚本可以返回 OK:your.site.com/img/temp/picture_uploaded_XXXXXXX.jpg 在 OnUploadSuccess 事件中,只需检查数据是否以“OK:”开头,然后使用临时上传的图片 url 更改 image.src。 $("#preview_image").attr("src","your.site.com/img/temp/picture_uploaded_XXXXXXX.jpg");
  • 我们不需要任何 jquery 库吗??
  • 是的,你需要它。检查上传示例。他们很清楚!
  • 我看到了,但是它使用的是flash。我不应该实现flash
猜你喜欢
  • 2011-09-30
  • 1970-01-01
  • 2013-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多