【问题标题】:Form with Image Div or Container [closed]带有图像 Div 或容器的表单 [关闭]
【发布时间】:2014-07-13 13:23:07
【问题描述】:

我在那儿。我想知道如何制作一个在左上角有一个容器或盒子的表单。

表单已完成上传,用户在文件上传框中选择照片(未提交)的那一刻,照片将出现在该照片容器/框上。

你能给我指导吗?谢谢

【问题讨论】:

  • 当然没有人会为你编程,只要谷歌,你会发现很多教程。在这里,您可以询问是否有人向您解释具体问题,因为您不了解某些问题。如果有人可以为您写指南或类似的东西,则不会。
  • Refer this tutorial,如果您在实施中遇到任何问题,请在这里提出您的疑问..
  • 猜你在找像mini ajax uploader这样的人

标签: php jquery html image file-upload


【解决方案1】:

当然可以。为此,您需要使用 FileReader API(适用于 IE 9+)。

这是相同的演示:

<html>
<head>
<title>File Reader Demo</title>
<style type="text/css">
#err{
background:#faa;
color:#fff;
border:2px solid #f00;
padding:5px;
text-align:center;
}
#preview{
width:200px;
height:200px;
border:2px solid #444;
background:#eee;
text-align:center;
font-size:24px;
color:cyan;
}
</style>
<script type="text/javascript">
function fileStarter(x){
var file = x.files[0];
var size=file.size;
size=size/(1024*1024);
if(size<3.5){
var imageType = /image.*/;
var fileDisplayArea=document.getElementById("preview");
if (file.type.match(imageType)) {
  var reader = new FileReader();
  reader.onload = function(e) {
    fileDisplayArea.innerHTML = "";
    document.getElementById("err").innerHTML="";
    document.getElementById("err").style["display"]="none"; 
    var img = new Image();
    img.src = reader.result;
    img.setAttribute("title","Preview is Shown here");
    img.setAttribute("width","100%");
    img.setAttribute("height","100%");
     fileDisplayArea.appendChild(img);
  }

  reader.readAsDataURL(file); 
} else {
document.getElementById("err").innerHTML="Invalid File Type! Allowed files are .bmp, .gif, .jpg and .png only";
    document.getElementById("err").style.display="block"; 

}
}
else {
document.getElementById("err").innerHTML="File is too large ! At max 3.5Mb is allowed!";
    document.getElementById("err").style.display="block"; 

}
}
</script>
</head>
<body>
<br /><br /><center>
<h3 style='border-bottom:2px dashed #ff9933'> Please Do Upload Your Photo </h3>
<br />Currently Your Pic is:<br /><div id="preview" class="preview">

Preview Of Your Photo

</div>
<form action="UploadScript.php" method="post" enctype="multipart/form-data" Onsubmit="return upsub(this,event);">
<input type='file' id='profpic' name="profpic" onchange='fileStarter(this);'>
<br /><br />
<div class="invalid" id="err" style="display:none;"></div>
<input type="submit" name="submit" value="Upload My Pic">
</form>
</center>
</body>
</html>

这里是工作:

Fiddle.

在该演示中,它允许您从设备中选择文件,一旦您选择/选择一个图像,它就会在预览框中显示其预览,然后按照您在问题中的要求将其提交到服务器。

如果需要,它还会对文件大小和文件类型进行验证。

为了使其可用于多个文件,我建议您首先使用 &lt;input type="file"&gt;multiple 属性,然后将 &lt;div id='preview'&gt; 动态附加到每个文件的正文并显示它 使用forwhile 循环在每个文件中使用files.length 属性在附加的&lt;div&gt; 中进行预览。

希望对您有所帮助。干杯:)!!

【讨论】:

  • 哇!这正是我所需要的。感谢您的指导 :) 您称之为图像预览,对不起,我是新手。非常感谢! :)
  • 那好吧!我很高兴能帮助你。来自我的 +1。
【解决方案2】:
猜你喜欢
  • 2011-11-14
  • 1970-01-01
  • 2012-10-15
  • 2023-04-04
  • 2016-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多