>我有这个代码,它在上传之前显示图像,但它无法正常工作,如果没有设置高度或宽度,它会显示图像,但如果我尝试将高度和宽度固定到相同的尺寸,它无法正常工作
<?php
echo '<input type="file" id="changeme" name="file" multiple/>
<div id="output"></div>
</div>
<div id="right">
<script>
function fileload(e)
{
var files=e.target.files || e.dataTransfer.files
for (var i=0, f; f=files[i]; i++)
{
parsefile(f)
}
}
function parsefile(file)
{
var reader=new FileReader();
reader.onload=function (e)
{
var output=document.getElementById("output");
output.innerHTML +="<img src=" + e.target.result + " />";
}
reader.readAsDataURL(file);
}
if(window.File && window.FileList && window.FileReader)
{
var fileselect=document.getElementById("changeme");
fileselect.addEventListener("change", fileload);
}
</script>';
?>
这种方式工作正常,但是当我在图像标签中输入一些尺寸(如height="50"
和width="50"
)时,图像没有显示,我也尝试将CSS用于图像,但它也不起作用。注意:- 由于某些原因,我必须在 php 中使用它
我认为
这是因为您没有将值包装成<img>
标签。试试这个:
output.innerHTML +="<img src=''" + e.target.result + "'' style=''width: 50px; height: 50px;'' />";
请注意转义的单引号以避免 PHP echo
中出现问题
output.innerHTML +="<img width=''50'' height=''50'' src=" + e.target.result + " />";
对我来说工作得很好。