首页 文章 新番
动漫 学习 生活 日记 书籍 服务器 Bing
  • 网站动态生成图片

    最近用微信动态生成了一个二维码,地址`http://xxxx.com/code.jhtml?id=1`。后台代码:```javaImageIO.write(codeImage,"png",response.getOutputStream());```但是这样就会存在一个问题,就是用`img`标签加载图片是没有问题的,但是保存的时候后缀名确实`.jhtml`,这个就悲剧了。然后加了下面一段代码:```javaresponse.setHeader("Content-Disposition","attachment;filename=code.png");```这样图片就会被直接下载。最后我分析了一下图片加载的`response`的头部信息:![图片加载response头部](https://static.acgist.com/resources/images/article/201503/14255286891571001.png)我们可以看到有一个`Content-Type`,OK,加上以下代码就解决了:```response.setHeader("Content-Type","image/png");```这...

    2015年03月05日 图片下载 Content-Type
  • Java图片压缩

    最近发现网站传的图片很多都是直接使用相机照的,很多图片都非常大,这样占用空间,而且用户加载也会变慢,所以搞了一下压缩图片的方法。但是网上很多都只有JPG的压缩方式,PNG的很少,这里也记录一下。我们用PS把PNG转为网络图片我们一般会讲`PNG24`转为`PNG8`,这里也是我的思路,下面贴上代码:```javapublicstaticfinalStringPNG_EXTENSION="png";publicstaticfinalStringJPG_EXTENSION="jpg";publicstaticbooleancompress(StringfilePath){Filefile=StringUtils.isEmpty(filePath)?null:newFile(filePath);if(!file.exists()||!file.isFile()){returnfalse;}Graphics2Dgraphics2D=null;ImageWriterimageWriter=null;ImageWriteParamimageWriteParams=null;FileOutputStreamfileOutp...

    2015年03月03日 Java 图片压缩 png
  • POI替换Word图片

    之前做了一个Word在线编辑导出的功能,里面替换图片是把文字替换为图片,原因也是之前的Word的头像都是简单的四边形,没有特殊效果。但是最近的模板是圆图,而且有边框和阴影效果:![Word模板](https://static.acgist.com/resources/images/article/201502/14250198588651001.jpg)之前替换文本的文章:[http://blog.csdn.net/webrobot/article/details/25989295](http://blog.csdn.net/webrobot/article/details/25989295)那么现在就只能去替换图片了,但是网上找了找也没找到,POI的方法也找了一下,没有替换图片的方法。然而在我不懈努力之下,最后终于是找到了解决办法。首先我们把一个Word的文档用`7z`解压出来或者把后缀改为`zip`解压都可以,可以得到以下的文件:![Word解压](https://static.acgist.com/resources/images/article/201502/14250205917661002.png...

    2015年02月27日 POI Word 图片替换
  • Java时区学习

    时区转化的代码:```javaSimpleDateFormatformatter=newSimpleDateFormat("EEEMMMddHH:mm:sszzzyyyy");formatter.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));//北京时间System.out.println(formatter.format(newDate()));formatter.setTimeZone(TimeZone.getTimeZone("JST"));//日本时间System.out.println(formatter.format(newDate()));```我们一般打印`newDate()`的时候发现后面跟有一个`CST`,我一直以为获取北京市区的`ID`就是`CST`,但是发现获取到的时间不对,后来发现`CST`是简写,不止一个时区的简写是`CST`。所以下面给出一个比较全的Java时区的ID表,还有一些简写的ID都在下面的两篇文章:时区ID:[http://blog.csdn.net/yangbobo1992/article/details/994...

    2015年02月26日 Java 时区 TimeZone ID
  • 图表库highcharts

    最近也是做了一些统计的东西,之前一直用的是`flash`,但是发现不是开源的,用起来也不是很方便,所以找了个替补。就发现了`highcharts`,这个是用`javascript`做的,还不错,也是非商业免费的,功能也十分的强大。我也搞了个简单的例子:```javascriptvarchart=$('#dataChart').highcharts({title:{text:'销售额/销售量统计图',x:0},subtitle:{text:'2013-12~2015-04',x:0},xAxis:{//X轴categories:['2013-12','2014-01','2014-02','2014-03','2014-04','2014-05','2014-06','2014-07','2014-08','2014-09','2014-10','2014-11','2014-12','2015-01','2015-02','2015-03','2015-04'],labels:{rotation:0},gridLineColor:'#cccccc',//下面的是表格线gridLineWidth:1,lineC...

    2015年02月12日 highcharts 图表库
  • CSS3笔记本翻盖特效

    闲来无事,做了个笔记本翻盖的简单特效:[http://www.acgist.com/demo/fold/index.html](http://www.acgist.com/demo/fold/index.html)

    2015年02月10日 CSS3 动画 特效
  • 正则表达式查找

    以前也搞过正则表达式查找字符串,但是一直都不求甚解,所以也就只会糊里糊涂的用,有时候还是试出来的。最近用Nginx重写,里面用了些正则表达式,所以这里也认真看了看正则表达式查找。##基本查找```javaStringreg="\\d";Stringtxt="12这a3是4c一g5个6i测7s试89t!0";Patternpattern=Pattern.compile(reg);Matchermatcher=pattern.matcher(txt);while(matcher.find()){System.out.println(matcher.groupCount());//匹配到的组System.out.println(matcher.group());//找到的第一个组合下面一样,0表示匹配整个表达式System.out.println(matcher.group(0));System.out.println("------------------------------分割线------------------------------");}```##分组匹配```javaStringreg="(\\d...

    2015年02月09日 正则表达式
  • Nginx中location分号转义

    正则表达式中分号是不需要转义的,但是Nginx中,分号是由含义的,所以分号需要转移,直接加个斜杠就可以了:```location~*^/[0-9]+([\?\;].*)?${rewrite^/([0-9]+)(.*)$/article/$1.action$2last;proxy_passhttp://acgist;}```

    2015年02月09日 Nginx location
  • Java获取网页重定向后的真实地址

    最近做了个功能需要到百度抓取网页下来,但是百度和百度新闻不一样,网页结果的地址是百度的一个地址,统计了信息后再做重定向,那么如何通过该地址获取到,网页真实的地址呢?在网上找到了一个答案:```javaURLurl=newURL("http://www.baidu.com/link?url=YvFbRiD8vlW77HC4JgvgDd81Cdrl-XvY-SZV4ce_x60n3LjDU1QkB4ann7m_mIw6");//可以换成其他任何的地址HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();connection.setInstanceFollowRedirects(false);//设置是否自动重定向System.out.println(connection.getHeaderField("Location"));System.out.println(IOUtils.toString(connection.getInputStream()));```原理:重定向是获取头信息里面`Location`字段进行跳转的,所以不自...

    2015年02月05日 重定向 302 301 Java
  • MySQL整理

    ####CentOS安装```wgethttps://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpmyumlocalinstallmysql57-community-release-el7-11.noarch.rpmrpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022yuminstallmysql-community-serversystemctlstartmysqldsystemctlenablemysqld#查看密码cat/var/log/mysqld.log|greppassword#修改密码等级setglobalvalidate_password_policy=LOW#修改密码ALTERUSER'root'@'localhost'IDENTIFIEDBY'acgist';#远程登陆GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'acgist'WITHGRANTOPTION;```####修改密码生效```flushpri...

    2015年02月04日 MySQL
  • 通过账号生成微信二维码

    将`img`的`src`属性改为:`http://open.weixin.qq.com/qr/code/?username=微信号`,修改微信号就可以了。2015年3月后,该链接只能用来生成公众号的二维码了。

    2015年02月03日 生成微信二维码
  • 微信accessToken失效

    今天微信下载图片返回错误码:`{"errcode":40001,"errmsg":"invalidcredential"}`,但是这个不科学啊,本地我测试过几次获取`accessToken`都没问题的,怎么回事呢?后来发现了问题,**因为我本地测试的时候刷新了accessToken导致服务器上面缓存的token失效了。****所以测试的时候,最好是获取服务器的token,而不要去刷新,或者测试账号和生产账号分开。**

    2015年02月03日 微信公众平台 40001
  • 手机端点击不要背景框

    手机端`a`标签点击有一个边框和背景很难看,需要设置属性`tap-highlight-color`就可以去掉了。

    2015年01月27日 tap-highlight-color
  • HTML5新特性学习

    看了看HTML5的一些新元素:##控制条`input````html```##颜色选取`input````html```##进度条`progress````html```##折叠标签`details````html战斗配置演示```战斗配置演示##照相机这是用这些做了一个小游戏,名字大乱斗,DEMO地址:[http://www.acgist.com/demo/name-fight/index.html](http://www.acgist.com/demo/name-fight/index.html)

    2015年01月26日 HTML5 表单元素 进度条 颜色选择 控制条
  • 微信redirect_uri参数错误

    最近又做微信的东西,搞了半天一直提示**redirect_uri参数错误**,原来要在**开发者中心->网页账号->修改->OAuth2.0网页授权这里添加域名/IP**,但是我填写了本地IP还是出了问题,原来**非80端口需要加上端口号**。如图:![OAuth2.0网页授权](https://static.acgist.com/resources/images/article/201501/14220703080941001.png)如果是微信开放平台,需要修改授权回调域为域名,而不是像`cookie`那种域。![SB微信](https://static.acgist.com/resources/images/article/201512/14491116641261007.png)说到这里我TM不得不吐槽一下,微信这个东西了,MD所有的API都一样的,但就是要搞了两个平台,而且两个地方都要收费。FTMDX

    2015年01月24日 redirect_uri 微信 参数错误 微信开放平台 微信公众平台
  • 网页获取微信openid

    现在有个功能需要用到用户的`openid`,但是发现微信JS接口没这个功能。后来去官网找了一下,原来在这里:[http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html](http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html)。

    2015年01月22日 微信公众号 openid
  • SVN迁移

    把SVN迁移到本地来,本来以为直接拷贝SVN目录就可以了,但是发现直接拷贝SVN目录是会存在问题的,因为版本不同总是提示:**期望文件系统格式在“1”到“4”之间;发搜索现格式“6”**。所以还是使用了svn的命令,步骤如下:*备份svn存储库```bash#压缩备份svnadmindumpE:/SVN/acgist|gzip>./acgist.gz#不压缩备份svnadmindumpE:/SVN/acgist>./acgist.svn```*恢复svn存储库```bash#建立新的svn存储库svnadmincreateE:/SVN/new#导入存储库数据svnadminloadE:/SVN/new<./acgist.svn```>更多参考:[http://blog.chinaunix.net/uid-354915-id-3766906.html](http://blog.chinaunix.net/uid-354915-id-3766906.html)项目迁移使用`relocate`,还有就是Eclipse/MyEclipse里面废弃旧的SVN地址,会出现无法废弃旧的位置,迁移后废...

    2015年01月12日 SVN 废弃位置 SVN迁移
  • Google Chrome浏览器滚动条优化

    做了一个Chrome滚动条优化的示例,但没做IE和Firefox的兼容。```css::-webkit-scrollbar{width:16px;height:16px;box-sizing:border-box;}/**滚动条基本信息*//***滚动条两端的按钮样式:*vertical:竖直滚动条;*:horizontal:横向滚动条;*:start:上边/左边按钮;*:end:下边/右边按钮*后面控制条相同*/::-webkit-scrollbar-button{width:16px;height:16px;background-repeat:no-repeat;background-image:url("./bar_arrows.png");}::-webkit-scrollbar-button:vertical:start{background-position:0px0px;}::-webkit-scrollbar-button:vertical:start:hover{background-position:-32px0px;}::-webkit-scrollbar-button:vertical...

    2014年12月31日 Google Chrome 滚动条
  • Java设置socket超时时间

    网上看了写文章,发现很多设置`socket`连接超时时间使用的是`setSoTimeout`这个方法,但这个不是设置连接超时方法,而是设置读取超时方法。设置连接超时实在`socket`的`connect`方法,方法的最后一个参数就是连接超时参数:```java/***Connectsthissockettotheserverwithaspecifiedtimeoutvalue.*Atimeoutofzeroisinterpretedasaninfinitetimeout.Theconnection*willthenblockuntilestablishedoranerroroccurs.**@paramendpointtheSocketAddress*@paramtimeoutthetimeoutvaluetobeusedinmilliseconds.*@throwsIOExceptionifanerroroccursduringtheconnection*@throwsSocketTimeoutExceptioniftimeoutexpiresbeforeconnecting*@throwsjava.nio...

    2014年12月30日 Java socket timeout
  • IE7/8/9/Firefox/Google Chrome的css hack

    一直不想调CSS的兼容,但是没有前端这破事就落到了我的身上。特别是IE这坑爹的东西,IE7/8/9/10/11标准一个和一个不一样。看下面的代码吧:```css.search{height:30px;width:30px;position:absolute;margin-top:3px;//以Chrome为基准margin-top:10px\0;//IE8,但是\0包含的IE版本为:7/8/Edge+margin-top:2px;//IE7}:root.search{//注意:root选择器Firefox和Chrome都支持的margin-top:4px\9;//IE9/10,9和10的区别不是非常大,就这样或者IE10用CSS调margin-top:4px\0;//Edge模式,我不知道这是个什么模式反正也是坑爹的东西}@-moz-documenturl-prefix(){.search{margin-top:4px;}};//火狐```IE6没有适配,是因为我的IE没这个模式的选项,不过网上说的是`_margin-top`这样可以。还有`*margin-top`好像IE6/7都支持,没试过。![IE调试]...

    2014年12月29日 IE Firefox Google Chrome css hack
1...22232425262728...31

关于 ACGIST

Copyright © 2013-2025 ACGIST.COM. All Rights Reserved.