今天晚上在改造轮播图。

原来的代码是这样的

<div>

<img src="${static}/image/index/banner/`.jpg" />
</div>
<div>
<img src="${static}/image/index/banner/2.jpg" />
</div>
<div>
<img src="${static}/image/index/banner/3.jpg" />
</div>

为了方便管理,轮播图后台可以管理,所以前台的轮播图图片,应该从数据库中获得。
  这个功能,就是两三分钟的事,立即就搞定了。

改造后的代码:
  <!--轮播图 -->

<div id="kinMaxShow" >
<#if bannerPhotoList?? && bannerPhotoList?size gt 0 > 
                              <#list
bannerPhotoList as item>
<div>
<img height="350px" src="${base}/image/${item.url}" />
</div>
</#list> <#else>
<div>
<img src="${static}/image/index/banner/4.jpg" />
</div>
<div>
<img src="${static}/image/index/banner/2.jpg" />
</div>
<div>
<img src="${static}/image/index/banner/3.jpg" />
</div>
</#if>
</div>

问题出现了
     自从使用了动态的图片,轮播图的图片高度没有占满“350px” ,图片的上下都有空白。非常可恶。

猜测
     后端代码的问题。
     经过对比2种情况生成的HTML,完全一样,除了图片地址不一样。

不知道,经过了多久的Chrome查看元素,突然意识到是不是图片有问题了。

去查看图片,发现高度只有250。尼玛,真把老子当250了,坑爹货啊。

因此,事实证明,图片上传后,经过了压缩,高度变成了250了。

期间,我也debug SpringMVC图片上传的代码,进入到后台的时候,图片已经变小了。因此,图片变小是WebUploader图片上传组件干的好事。

网上搜索WebUploader的资料,“WebUploader图片压缩” ,零散地找到了一些资料。
 
WebUploader的官网打开很慢,通过百度快照,看了 WebUploader API文档。

有这么一点内容:

compress {Object} [可选]

配置压缩的图片的选项。如果此选项为false, 则图片在上传前不进行压缩。
默认为:
{
    width: 1600,
    height: 1600,
    // 图片质量,只有type为`image/jpeg`的时候才有效。
    quality: 90,
    // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false.
    allowMagnify: false,
    // 是否允许裁剪。
    crop: false,
    // 是否保留头部meta信息。
    preserveHeaders: true,
    // 如果发现压缩后文件大小比原来还大,则使用原来图片
    // 此属性可能会影响图片自动纠正功能
    noCompressIfLarger: false,
    // 单位字节,如果图片大小小于此值,不会采用压缩。
    compressSize: 0
}

可以清楚地知道,这个组件有压缩功能,在满足一定的条件下会压缩。

为了方便,直接在upload.js中增加
“ compress:false,” 不压缩,这个时候,上传图片就是“原样”了。
至于 上面配置的“width:1600px”,我猜测是图片的宽度和高度达到一定条件就压缩。

总结: kinMaxShow轮播组件没有问题,WebUploader看到图片太大很不爽,就启用了压缩。

解决问题的思路:发现了问题,分析问题的类型,猜测,验证。网上搜资料,找准关键词。
本次搜索关键词“WebUploader 压缩” 。

小雷-正式开始第2次创业的旅途
2015年3月18日 23时
湖北-武汉-循礼门 

妈蛋:kinMaxShow轮播图异常,WebUploader图片上传坑爹,图片被压缩了的更多相关文章

  1. 在线HTML文档编辑器使用入门之图片上传与图片管理的实现

    在线HTML文档编辑器使用入门之图片上传与图片管理的实现: 官方网址: http://kindeditor.net/demo.php 开发步骤: 1.开发中只需要导入选中的文件(通常在 webapp ...

  2. 妈蛋:kinMaxShow旋转木马异常,WebUploader图片上传坑爹,图像被压缩

    今天晚上在改造轮播图. 原来的代码是这种: <div> <img src="${static}/image/index/banner/`.jpg" /> & ...

  3. easyui+webuploader+ckeditor实现插件式多图片上传-添加图片权限(图片上传人是谁,只能看到自己的图片)

    需求: 实现过程及思路 1.先页面布局 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=" ...

  4. IOS 图片上传处理 图片压缩 图片处理

    - (void)initActionSheet { UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil dele ...

  5. 解决uploadify多图片上传部分图片丢失,且不提示任何错误的问题

    这两天用到uploadify的flash版本进行批量图片上传并生成缩略图的功能,之前用uploadify用的好好的,这次突然出现了一个奇怪的问题. 问题描述如下:当我选择单个图片上传的时候,图片上传都 ...

  6. ssm使用Ajax的formData进行异步图片上传返回图片路径,并限制格式和大小

    之前整理过SSM的文件上传,这次直接用代码了. 前台页面和js //form表单 <form id= "uploadForm" enctype="multipart ...

  7. 图片上传-本地图片转base64+ie8支持+本地预览支持

    最近项目由于flash同学没在了,图片上传只能前端重新做,后台希望用base64数据上传,复用之前接口 问题来了, 1.ie8 不支持canvas转base64 2.本地预览 base64数据,ie8 ...

  8. 推荐ajaxfilemanager for tiny_mce 比较完善的tiny_mce编辑器的图片上传及图片管理插件PHP版 支持中文

    tiny_mce编辑器,我觉得挺简洁.好用的,但就是图片上传的插件是收费的,而且网上找了半天也没有找到开源好用的上传插件. 不过功夫不负有心人,终于还就被我找到一款相当满意的插件. 这个插件的名字叫a ...

  9. django图片上传修改图片名称

    storage.py # 给上传的图片重命名 from django.core.files.storage import FileSystemStorage from django.http impo ...

随机推荐

  1. Django项目之Web端电商网站的实战开发(一)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶电商项目开发流程 三丶项目需求 四丶项目架构概览 五丶项目数据库设计 六丶项目框架搭建 一丶项目介绍 产品 ...

  2. Django路由分配以及模版渲染

    路由上: 在网络上区分不同的电脑通过IP.端口和网卡的MAC地址等,在web框架中怎么区分不同的请求呢,就是通过 ‘url(路由)’ ,url 学名叫做全球统一资源定位符,其实就是一个网址 一个url ...

  3. numpy_basic

    一.Numpy是什么 Numerical Python,数值的Python,补充了Python语言所欠缺的数值计算能力. Numpy是其它数据分析及机器学习库的底层库. Numpy完全标准C语言实现, ...

  4. 基于mybatis的BaseDao及BaseService深度结合(转)

    原文地址:http://zhaoshijie.iteye.com/blog/2003209 关键字:Mybatis通用DAO设计封装(mybatis) 说明: mybatis默认分页机制为逻辑分页,所 ...

  5. dot-files/directories 点开头的文件或文件夹(windows/linux)

    What's so special about directories whose names begin with a dot? 不管是 windows 系统,还是类 linux 系统,以点开头的文 ...

  6. Spark 概念学习系列之Spark存储管理机制

    Spark存储管理机制 概要 01 存储管理概述 02 RDD持久化 03 Shuffle数据存储 04 广播变量与累加器 01 存储管理概述 思考: RDD,我们可以直接使用而无须关心它的实现细节, ...

  7. 【2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 G】Query on a string

    [链接]h在这里写链接 [题意] 让你维护字符串的一段区间内T子串的个数. [题解] 因为t不大,所以. 暴力维护一下a[i]就好. a[i]表示的是S串从i位置开始,能和T串匹配几个字符. 用树状数 ...

  8. 判断Bigdecimal类型是否等于0的方法

    1.我之前用来判断Bigdecimal类型是否等于0的方法 b.equals(BigDecimal.ZERO); 用equals方法和BigDecimal.ZERO进行比较. 2.上面方法存在的问题 ...

  9. 基于Qt Assistant制作软件帮助文档

    Qt Assistant是Qt自带的一款可定制.可重新发行的帮助文件浏览器.Qt Assistant支持HTML文件,用户可以利用其定制自己的功能强大的帮助文档浏览器.关于Qt Assistant定制 ...

  10. GitHub 上排名前 100 的 IOS 开源库简介

    主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 项目名称 项目信息 1. AFNetworking 作 ...