当前位置: 首页 > news >正文

吉林系统建站怎么用/杭州seo网站哪家好

吉林系统建站怎么用,杭州seo网站哪家好,泉州网站建设推广,SEO优化之如何做网站URL优化配置文件spring-web.xml web.xml均与之前项目相同 直接在浏览器端显示:在浏览器中直接显示图片(谷歌、IE11、Edge浏览器均可用) 主要代码及文件如下: package cn.tedu.web;import java.awt.Color; import java.awt.Graphics2D; import java.awt.image…

配置文件spring-web.xml web.xml均与之前项目相同

直接在浏览器端显示:在浏览器中直接显示图片(谷歌、IE11、Edge浏览器均可用)

主要代码及文件如下:

package cn.tedu.web;import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;@Controller
@Scope("prototype")
public class PhotoAction extends BaseAction{private InputStream imageStream;public InputStream getImageStream() {return imageStream;}public void setImageStream(InputStream imageStream) {this.imageStream = imageStream;}//用于获取原文件名称private String fileName;public String getFileName() {return fileName;}public void setFileName(String fileName) {this.fileName = fileName;}public String execute() throws IOException{//方法一:在内存中画一张图片//在内存中生成一张图片BufferedImage img = new BufferedImage(400, 300, BufferedImage.TYPE_3BYTE_BGR);/** 画麻点* for(int i = 0;i<400*300;i++){//x、y表示图片的某个位置int x = (int) (Math.random()*img.getWidth());int y = (int) (Math.random()*img.getHeight());int c = (int) (Math.random()*0xffffff);img.setRGB(x, y, c);//给图片中每个位置画点}*///画图并写字long c = 0;for(int x=0;x<400;x++){for(int y=0;y<300;y++){img.setRGB(x, y, (int) (c+=100%0xffffff));}}Graphics2D g = img.createGraphics();g.setColor(Color.PINK);g.drawString("你好", 40, 80);//......//将照片编码为png格式的数组ByteArrayOutputStream out = new ByteArrayOutputStream();ImageIO.write(img, "jpg", out);//三个参数  图片  类型  输出流byte[] png = out.toByteArray();out.close();//再将数组包装为InputStreamimageStream = new ByteArrayInputStream(png);//方法二:windows电脑D盘中有一张图片//imageStream = new FileInputStream("D://879da7098c51e1f51d731+-d5.jpg");String name = "879da7098c51e1f51d731  d5你好+-_@!#$%^&()().jpg";//获取浏览器相关数据HttpServletRequest re = ServletActionContext.getRequest();/** 对文件名的要求  中文  英文  数字  括号 空格*/fileName = transferName(re, name);return SUCCESS;}//获取浏览器信息public String transferName(HttpServletRequest re, String fileName) throws UnsupportedEncodingException{//获取浏览器信息--判断浏览器的顺序很重要String agent = re.getHeader("User-Agent");System.out.println(agent);if(agent.contains("Edge")){	                                    //Edge   已测试System.out.println("Edge");return URLEncoder.encode(fileName,"UTF-8").replaceAll("\\+","%20");//处理空格转为加号的问题}else if(agent.contains("Chrome")){                             //google  已测试System.out.println("Chrome");return new String(fileName.getBytes(), "iso8859-1");}else if(agent.contains("Firefox")){					        //Firefox  待测试System.out.println("Firefox");return new String(fileName.getBytes(), "iso8859-1");}else if(agent.contains("MSIE") || agent.contains("Trident")){  //IE11      已测试System.out.println("IE");//在IE8以后,微软使用了Trident来作为IE浏览器的标志,兼容老的版本return URLEncoder.encode(fileName,"UTF-8").replaceAll("\\+","%20");//处理空格转为加号的问题  }else{//其余浏览器  可测试并添加System.out.println("Other");return URLEncoder.encode(fileName,"UTF-8").replaceAll("\\+","%20");//待测试}}}

既可以在内存中画图,也可以指定某个图片

struts.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><package namespace="/demo" name="demo" extends="struts-default,json-default"><!-- 直接显示图片 --><action name="photo" class="photoAction"><result name="success" type="stream"><!-- 发送图片信息 --><param name="contentType">image/jpeg</param><!-- in为photoAction类中的一个bean属性,其类型必须是InputStream类型 --><param name="inputName">imageStream</param></result></action>	</package>
</struts>

通过该配置可以在浏览器中直接显示图片

URL:http://localhost:8000/struts_day03/demo/photo

在浏览器端弹框显示下载,可自定义文件保存路径:(谷歌、IE11、Edge浏览器均可用)

Action同上,只是配置文件不同

struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><package namespace="/demo" name="demo" extends="struts-default,json-default"><!-- 下载图片 默认文件名称 --><action name="download" class="photoAction"><result name="success" type="stream"><!-- 发送图片信息 --><param name="contentType">image/jpeg</param><!-- attachment为弹框下载  inline为直接显示或者将 contentDisposition 这个属性去掉,不写以下这行--><param name="contentDisposition">attachment;filename="mylove你好.jpg"</param><!-- 此处最好不要使用中文 可能乱码或显示错误 --><!-- in为photoAction类中的一个bean属性,其类型必须是InputStream类型 --><param name="inputName">imageStream</param></result></action><!-- 下载图片 自定义文件名称 --><action name="download1" class="photoAction"><result name="success" type="stream"><!-- 发送图片信息 --><param name="contentType">image/jpeg</param><!-- attachment为弹框下载  inline为直接显示或者将 contentDisposition 这个属性去掉,不写以下这行--><param name="contentDisposition">attachment;filename=${fileName}</param><!-- in为photoAction类中的一个bean属性,其类型必须是InputStream类型 --><param name="inputName">imageStream</param></result></action>	</package>
</struts>

注意,若在struts.xml文件中指定固定的文件名时候,尽量不要用中文,在不同的浏览器中,中文可能不显示或者乱码,建议如下写法:

<param name="contentDisposition">attachment;filename="mylove.jpg"</param>

若文件名中一定要包含中文或者其他的特殊字符,可以使用第二个下载方法,在控制器action中定义好文件名,并且处理好浏览器的兼容问题和编码方式即可,之前博客已经说明,可参照

若要弹框下载,则必须在result中指定contentDisposition属性

http://www.lbrq.cn/news/752527.html

相关文章:

  • google 空间 网站/网站seo具体怎么做
  • 代做毕业设计网站/营销渠道管理
  • 廊坊seo整站优化软件/标题优化怎样选关键词
  • 阿里主机 wordpress/seo广告投放
  • Java做新闻网站/快速seo关键词优化方案
  • dede 网站图标/地推接单正规平台
  • 电子政务公开 网站建设/什么是友情链接?
  • 资料网站怎么做/站长工具seo综合查询分析
  • 本地主机做网站/最近一周的时政热点新闻
  • 网站的注册和登录界面怎么做/北京企业网站推广哪家公司好
  • 做网站最大可以做多少g/好的产品怎么推广语言
  • 网站你们都知道/手机软文广告300字
  • 免费的导航页/学seo的培训学校
  • 昆明企业建站程序/沈阳今日新闻头条
  • 网站可以做固定资产吗/公司建网站多少钱
  • 不用购买域名做网站/百度手机app
  • 网站推广员/网站广告制作
  • 宜宾微信网站建设/免费的关键词优化工具
  • 成都住建局官网租房/优化课程
  • 上海优化排名网站/永州网络推广
  • 一级a做爰片免网站/老铁外链工具
  • wordpress 修改注册地址/网站关键词优化
  • 南京做网站的客户电话/站长工具域名查询
  • 济南网签查询系统/祁阳seo
  • 做公众号可以看的网站/宁波seo运营推广平台排名
  • 380元网站建设/班级优化大师客服电话
  • 工程公司取名大全/真人seo点击平台
  • 企业个性化网站建设费用/营销软文推广平台
  • 专门做尿不湿的网站/百度网盘搜索引擎官方入口
  • 做黄色 网站/我赢网seo优化网站
  • ai测试(六)
  • Bee1.17.25更新Bug,完善功能.不支持NOSQL,分库分表Sharding(2.X版有)
  • 软件需求规格说明书
  • 【计算机网络面试】TCP/IP网络模型有哪几层
  • 《从混乱到有序:AI 如何一步步梳理数据质量难题》文章提纲
  • 多机编队——(6)解决机器人跟踪过程中mpc控制转圈问题