(文件)图片上传,Spring或SpringMVC框架

spring或springMVC框架图片(文件)上传

页面部分,用一个简单的form表单提交文件,将图片或文件提交到服务端。一个输入框,用于输入图片的最终名称,一个file文件选择,用于选择图片。
页面代码如下:

<form id="form1" >

<table style="width:100%;border:0;">
<tr>
<th style="width:35;text-align: center;" class="must">图片名称:</th>
<td><input id="imgName" style="width:150px;" name="imagePath" verify="true" mustFill="true" maxlength="100" /></td>
</tr>

<tr id="fileSelect">
<th></th>
<td>
<input type="file" name="file" id="doc" style="width:150px;" onchange="javascript:setImagePreview(this);">
</td>

</table>
</form>


js部分,发送一个ajax请求,先检查名称是否重复。没有重复才设置form的action,然后提交表单。代码如下:

//发送检查名称是否重复的后台函数的请求,可以忽略

$.ajax({url:"<%=contextPath%>/imageUploadController/imageExistCheck",type:'POST',dataType:'json',data:data
,success:function(msg){
if(msg.result==false&&$("#saveOrUpdata").val()!="1"){

alert("名称重复,请修改名称");
return 0;
}else{//没重复或者要修改

//下面这个if用于验证表单必填项是否都填了,忽略。
if(Common.verify($("#createForm"))){
//设置form的action

$('#form1').attr('action', '<%=contextPath%>/imageUploadController/imageUpload');
$("#form1").submit();
}

}

},error:function(xhr){alert('错误\n'+xhr.result);}});
return false;
});




最后是后台代码,解释都放在注释里,更便于观看。

@RequestMapping(value="/imageUpload",method=RequestMethod.POST)
public String upLoadImage(FireEquipmentInfo fireEquipmentInfo,HttpServletRequest req){
//转化request
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req;
MultipartFile multipartFile = multipartRequest.getFile("file");

//获取原文件名
String fileName = multipartFile.getOriginalFilename();
//获取原名后缀
String fileEnd = fileName.substring(fileName.lastIndexOf(".")+1).toLowerCase();
String realName =null;
//获取项目根目录
String imagePath=req.getSession().getServletContext().getRealPath("/");

String imageName=null;
imageName=RequestUtil.getStringParameter(req, "imagePath");
//拼接路径和最终名
imagePath+="img/login/";
realName=imageName+ "." + fileEnd;
try {
//实例化一个file
File file = new File(imagePath);
//创建路径
if(!file.exists())
file.mkdirs();
//创建文件
file=new File(imagePath+"/"+realName);
file = new File(imagePath,realName);
//文件存储
multipartFile.transferTo(file);
} catch (Exception e) {
req.setAttribute("msg", e.getMessage());
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是SpringMVC框架实现图片文件上传的步骤: 1.在Spring的配置文件中配置multipartResolver: ```xml <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="5242880"/> </bean> ``` 其中maxUploadSize表示上传文件的最大大小,这里设置为5MB。 2.在Controller中添加处理文件上传的方法: ```java @RequestMapping(value = "/upload", method = RequestMethod.POST) public String handleFileUpload(@RequestParam("file") MultipartFile file) { if (!file.isEmpty()) { try { byte[] bytes = file.getBytes(); // 保存文件 String fileName = file.getOriginalFilename(); String filePath = "/path/to/upload/directory/" + fileName; File uploadedFile = new File(filePath); FileUtils.writeByteArrayToFile(uploadedFile, bytes); return "redirect:/success"; } catch (IOException e) { e.printStackTrace(); } } return "redirect:/error"; } ``` 其中@RequestParam("file")指定上传文件的参数名,MultipartFile表示上传的文件,getBytes()方法将文件转换为字节数组,getOriginalFilename()方法获取文件名,FileUtils.writeByteArrayToFile()方法将文件保存到指定路径。 3.在View中添加表单: ```html <form method="post" action="/upload" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="Upload"> </form> ``` 其中enctype="multipart/form-data"表示表单中包含二进制数据,name="file"指定上传文件的参数名。 这样就完成了SpringMVC框架实现图片文件上传的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值