java项目实例图片上传

                                         使用 Spring中MultipartHttpServletRequest实现文件上传

一、上传对表单的要求

1) 表单的提交方式 :"method=post"

2) 表单的类型 :enctype="multipart/form-data"

3) 上传表单的文件项:<input type="file" name="xx" /> //其中名字是必须要的


二.上传的一般步骤

1.将request转化为MultipartHttpServletRequest multipartRequest= (MultipartHttpServletRequest)(request);

原理是:使用spring的CommosMultipartResolver 配置MultipartResolver 用于文件上传,DispatcherServlet 将调用 MultipartResolver 的 isMultipart(request) 方法检查当前 Web 请求是否为 multipart类型。如果是,DispatcherServlet 将调用 MultipartResolver 的 resolveMultipart(request) 方法,对原始 request 进行装饰,并返回一个 MultipartHttpServletRequest 供后继处理流程使用(最初的 HttpServletRequest 被偷梁换柱成了 MultipartHttpServletRequest),否则,直接返回最初的 HttpServletRequest。

获取文件 

         MultipartHttpServletRequest multipartRequest  =  (MultipartHttpServletRequest) request; //将request转化为MultipartHttpServletRequest

 MultipartFile multipartFile = multipartRequest.getFile("upload");//获取文件

         InputStream  is = multipartFile.getInputStream();//获取图片的文件流
        String uploadContentType = multipartFile.getOriginalFilename();//获取文件的格式

2.判断文件的格式(必须为.jpg/.gif/.bmp/.png文件))

3.对图片进行处理(压缩图片),并输出到指定目录

4.在数据库中保存图片的路径名imgDir+imgName

jsp页面代码

<%@ page language="java" pageEncoding="UTF-8"%>
<%@include file="/include.jsp"%>
<%@page import="java.util.Date"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link href="<ph:root/>/s/css/style.css" type="text/css" rel="stylesheet" />
<link href="<ph:root/>/s/css/gh-buttons.css" type="text/css"
	rel="stylesheet" />
<link href="<ph:root/>/s/css/selectinput.css" type="text/css"
	rel="stylesheet" />
<link href="<ph:root/>/s/js/ueditor/themes/default/css/ueditor.css"
	type="text/css" rel="stylesheet" />
<script type="text/javascript" src="<ph:root/>/s/js/jquery.min.js"></script>
<script type="text/javascript" src="<ph:root/>/s/js/jquery-1.3.2.js"></script>
<script type="text/javascript" src=
  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值