结合yii上传做的图片上传后立即显示,自己琢磨的,有点low
<script type="text/javascript">
//下面用于图片上传预览功能
function setImagePreview(avalue) {
var docObj=document.getElementById("doc");
var imgObjPreview=document.getElementById("preview");
if(docObj.files &&docObj.files[0])
{
//火狐下,直接设img属性
imgObjPreview.style.display = 'block';
imgObjPreview.style.width = '150px';
imgObjPreview.style.height = '180px';
//imgObjPreview.src = docObj.files[0].getAsDataURL();
//火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
}
return true;
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td height="101" align="center">
<div id="localImag"><img id="preview" src="http://blog.chuangling.net/Public/images/top.jpg" width="150" height="180" style="display: block; width: 150px; height: 180px;"></div>
</td>
</tr>
<tr>
<td align="center" style="padding-top:10px;"><input type="file" name="file" id="doc" style="width:150px;" onchange="javascript:setImagePreview();"></td>
</tr>
</tbody>
</table>
</body>
</html>
---这是一个单页面的图片上传后显示
琢磨琢磨这个页面。其实原理很简单,一个img标签,一个id 为dic的input标签,点击这个input标签,触动 setImagePreview()方法,这个方法里写的是获取你上传图片的信息然后直接显示在img标签里
-----------------------------
整合yii框架,yii上传显示页面是这样写的 <?= $form->field($model, 'imageFile')->fileInput() ?> 可是我要整合在一起,我不知道怎么在这个里面给他个id,不知道怎么给他个onchange事件,于是乎,我在火狐上运行原先yii上传,firbug调试,找到这个<?= $form->field($model, 'imageFile')->fileInput() ?>解析以后是啥样子,发现就这么个小小的标签解析这么一堆东西
<div class="form-group field-uploadform-file">
use yii\widgets\ActiveForm;
use yii\helpers\Url;
?>
<img id="preview" src="chuan.bmp" width="150" height="180" style="display: block; width: 150px; height: 180px;">
<div class="form-group field-uploadform-file">
<label class="control-label" for="uploadform-file">File</label>
<input type="hidden" value="" name="UploadForm[file]">
<input id="uploadform-file" type="file" name="UploadForm[file]" onchange="javascript:setImagePreview();">
<div class="help-block"></div>
</div>
//下面用于图片上传预览功能
function setImagePreview(avalue) {
var docObj=document.getElementById("uploadform-file");
var imgObjPreview=document.getElementById("preview");
if(docObj.files &&docObj.files[0])
{
//火狐下,直接设img属性
imgObjPreview.style.display = 'block';
imgObjPreview.style.width = '150px';
imgObjPreview.style.height = '180px';
//imgObjPreview.src = docObj.files[0].getAsDataURL();
//火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
}
return true;
}
</script>