图片上传时即时生成多个缩略图

来源:互联网 发布:互动课堂答案软件下载 编辑:程序博客网 时间:2024/06/07 00:10

在网上找了不少案例,都没有我理想的代码,我就根据其中一个改编成自己想要的功能,先附上最终效果。

代码如下,不难的,另外要加上jquery.js代码就可以了:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript"src="${pageContext.request.contextPath}/common/bootstrap/js/jquery.js"></script><title>弹窗提示</title><script language="javascript" type="text/javascript">var i=1;//下面用于图片上传预览功能function setImagePreview(avalue) {html = "<td width='100px;'><img id='preview"+i+"' src='' width='100' height='100' style='display: block;border: 1px solid blue;' /></td>"$("#localImag").append(html);//input    var docObj = document.getElementById("doc");//img    var imgObjPreview = document.getElementById("preview"+i);    //div    var divs = document.getElementById("localImag");    if (docObj.files && docObj.files[0]) {        //火狐下,直接设img属性        imgObjPreview.style.display = 'block';        imgObjPreview.style.width = '100px';        imgObjPreview.style.height = '100px';        //imgObjPreview.src = docObj.files[0].getAsDataURL();        //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式       imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);        i++;    } else {        //IE下,使用滤镜        docObj.select();        var imgSrc = document.selection.createRange().text;        var localImagId = document.getElementById("localImag");        //必须设置初始大小        localImagId.style.width = "100px";        localImagId.style.height = "100px";        //图片异常的捕捉,防止用户修改后缀来伪造图片        try {            localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";            localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;        } catch(e) {            alert("您上传的图片格式不正确,请重新选择!");            return false;        }        imgObjPreview.style.display = 'none';        document.selection.empty();       i++;    }    return true;}</script></head>  <body>        <table  border="0" cellspacing="0" cellpadding="0">            <tbody>                <tr>                    <td align="center" style="padding-top:10px;">                    <form method="get" action="xznetwork" name="textfile">                       <input type="file" name="file" id="doc" multiple="multiple" style="width:150px;" onchange="javascript:setImagePreview();"></form>                    </td>                <tr id="localImag">                </tr>                </tr>            </tbody>        </table>     </body></html>

1 0
原创粉丝点击