图片显示
来源:互联网 发布:淘宝买家信用怎么提高 编辑:程序博客网 时间:2024/04/29 15:01
将图片上传到阿里云服务器时,通过外网无法直接访问图片路径,这时就必须要通过IO流在界面上显示。
在web.xml配置文件中加上:
<servlet>
<servlet-name>OSSReader</servlet-name>
<servlet-class>action.OSSReader</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>OSSReader</servlet-name>
<url-pattern>/img</url-pattern>
</servlet-mapping>
界面中显示图片已
<img src="<%=basePath %>/img?fileName=${fileName }" onload="javascript:if (this.width>121) this.width=121;if(this.height>121) this.height=121"/>
OSSReader:
public class OSSReader extends HttpServlet {
private Logger log = LoggerFactory.getLogger(OSSReader.class);
private static final long serialVersionUID = 4029716041969911408L;
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
java.io.IOException {
InputStream is = null;
OutputStream os = null;
try {
String fileName = request.getParameter("fileName");
log.debug("fileName=" + fileName);
if (StringUtils.isBlank(fileName)) {
fileName = "user_logo/default_logo.png";
}
is = downLoadFile(fileName);//从阿里云服务器获取IO流
if (null != is) {
response.setContentType("image/jpeg");
os = response.getOutputStream(); // 创建输出流
int c = 0;
while ((c = is.read()) != -1) {
os.write(c);
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
/**
* 这个方法可以写在阿里云公共方法中
*/
public static InputStream downLoadFile(String fileName) throws Exception {
log.info("downLoadFile start");
InputStream fileStream = null;
OSSClient client = null;
try {
// 创建上传客户端
client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
OSSObject data = client.getObject(bucketName, fileName);
fileStream = data.getObjectContent();
log.info("get file " + fileName + " success!");
log.info("downLoadFile end");
} catch (Exception e) {
log.error(e.getMessage(),e);
} finally {
// client.shutdown();
}
return fileStream;
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
service(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
service(request, response);
}
}
- 图片显示
- 显示图片
- 图片显示
- 图片显示
- 图片显示
- 图片显示
- 显示图片
- 图片显示
- 显示图片
- 图片显示
- 图片显示
- 显示图片
- 图片显示
- 图片显示
- 图片显示
- 图片控件、图片显示
- 图片不能正常显示,显示默认图片。
- 显示图片 tif文件显示
- Oracle 删除重复数据只留一条
- Ubuntu下QtCreator的安装与卸载
- Ajax之初识ajax
- 关于分布式事务、两阶段提交协议、三阶提交协议
- origin 作图:如何将纵坐标转化为百分比形式
- 图片显示
- iOS 多线程小结 ---- (NSThread)
- L1-020. 帅到没朋友(六月八号的)
- 安卓LOG封装类
- jsp页面中实现时间相减,并且在最近添加的新闻后右上角添加标记(涉及struts2标签和jquey)
- Dialog
- H.264几大开源编码器简介
- C++笔记
- pip安装matplotlib报错:equired packages can not be built