利用struts的FormFile对象可以轻松实现文件上传,但是要想在客户端回显选中的图片比较麻烦,需要使用滤镜才能兼容IE7,但不兼容火狐。
function preview()
{
var picId = $("#picId").val();
var fileext=picId.substring(picId.lastIndexOf("."),picId.length);
fileext=fileext.toLowerCase();
$("#fileext").val(fileext);
if ((fileext!='.jpg')&&(fileext!='.gif')&&(fileext!='.jpeg')&&(fileext!='.bmp'))
{
alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");
$("#picId").focus();
}
else
{
$("#newPreview").html('');
var newPreview =$("#newPreview")[0];
var imgDiv = document.createElement("div");
document.body.appendChild(imgDiv);
imgDiv.style.width = "180px"; imgDiv.style.height = "140px";
imgDiv.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale)";
imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = picId;
newPreview.appendChild(imgDiv);
}
}
<input name="uploadFile" type="file" class="input_width" id="picId" maxlength="50" onchange="preview()"/>
(推荐上传图片像素大小为180*140)
<div id="newPreview"></div>