javascript - 前台用ajax上传图片,怎么让图片上传完成显示的缩略图片的时候显示分辨率大小
PHP中文网
PHP中文网 2017-04-11 11:24:44
[JavaScript讨论组]

以下是相关代码,现在就是上传上去想让显示以下分辨率,也就是图片的大小,请问应该怎么该才可以,求解答

前台上传文件代码

window.onload=function(){
    var type=document.getElementById('hidType').value;
    var obj = document.getElementsByName('USER_TYPE');
    for(var i=0;i

x

'); $(".delete").off('click'); $(".delete").on("click",function(){ $(this).parent().remove(); }); var num = $("input[name='CIRCLE_IMAGE']").length; if(num > 8){ $('#file_upload').uploadify('disable', true); } } else { alert(dataObj.message); } }, 'onUploadError': function(file, errorCode, errorMsg, errorString) { } }); }

后台处理代码

public void uploadify(HttpServletRequest request, HttpServletResponse response) {
        
        response.setContentType("text/plain; charset=GBK");
        response.setHeader("Pragma", "No-cache"); // 设置页面不缓存
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        
        PrintWriter out=null;

        Map jsonMap = new HashMap();

        String path = "";// 图片
        String thumbPath = "";//缩略图片
        // 2.为该请求创建一个句柄,通过它来解析请求。执行解析后,所有的表单项目都保存在一个List中。
        DiskFileUpload upload = new DiskFileUpload();
        // 通过句柄解析请求,解析得到的项目保存在一个List中
        List items;
        try {
            items = upload.parseRequest(request);
            // 3.通过循环依次获得List里面的文件项目。要区分表示
            // 文件的项目和普通的表单输入项目,使用isFormField()
            // 方法。根据处理请求的要求,我们可以保存上载的文
            // 件,或者一个字节一个字节地处理文件内容,或者打开文件的输入流。
            Iterator itr = null;

            FileItem item = null;
            String strRealPath = request.getSession().getServletContext()
                    .getRealPath("/");
            String dirTemp = strRealPath + "upfile";// 临时目录
            String uploadFolder = PubFunction.getYearMonth();
            String savePath = strRealPath + "/upfile/jxq/circle" + File.separator
                    + uploadFolder + File.separator;// 保存图片文件路径
            PubFunction.Mkdir(dirTemp);
            PubFunction.Mkdir(savePath);
            itr = items.iterator();
            while (itr.hasNext()) {
                item = (FileItem) itr.next();
                // 检查当前的项目是普通的表单元素,还是一个上载的文件
                if (item.isFormField()) {// 表单元素

                } else {// 是一个上载的文件
                    // 设置允许上传的最大值5M
                    upload.setSizeMax(5 * 1024 * 1024);
                    // 设置缓冲区大小,这里是4kb
                    upload.setSizeThreshold(6 * 1024);
                    // 设置临时目录:
                    upload.setRepositoryPath(dirTemp);
                    String strFileName = item.getName();
                    
                    String extName = strFileName.substring(strFileName
                            .lastIndexOf(".") + 1);
                    if (item.getSize() > 5 * 1024 * 1024) {
                        jsonMap.put("status", "0");
                        jsonMap.put("message", "请不要上传超过5M大小的图片!");
                    }
//                    strFileName = this.getFileName(extName, String.valueOf(user
//                            .getId()));
                    
                    strFileName = this.getFileName(extName, "_original");
                    String thumbFileName = this.getFileName(extName, "_thumb");
                    
                    try {
                        item.write(new File(savePath + strFileName));
                        //生成缩略图片
                        ImageUtilsDemo.ThumbnailsScale(savePath + strFileName,savePath + thumbFileName, 160, 160,false,"jpg"); 
                        path = "/upfile/jxq/circle/" + uploadFolder + "/" + strFileName;// 图片路径信息(相对路径)
                        thumbPath = "/upfile/jxq/circle/" + uploadFolder + "/" + thumbFileName;
                        jsonMap.put("status", "1");
                        jsonMap.put("path", PICTURE_SYS_PATH+path);
                        jsonMap.put("thumbPath", PICTURE_SYS_PATH+thumbPath);
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                        jsonMap.put("status", "0");
                        jsonMap.put("message", "上传图片失败");
                    }
                }
            }
        } catch (FileUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            jsonMap.put("status", "0");
            jsonMap.put("message", "上传图片失败");
        }
        
        try {
            out = response.getWriter();
            out.print(gson.toJson(jsonMap));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            if (out != null)
                out.close();
        }
            
    }
PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
PHP中文网

查一下你用的flash插件的文档吧,通常上传之前就可以知道图片的分辨率的。

天蓬老师

js就能获取图片分辨率了。。不然后端返回也可以。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号