ssm项目上传图片

把图片的路径名作为varchar型保存到数据库中。显示的时候就到数据库中查找路径名,处理后赋值给<img>的src属性

然后是同过IO流把图片作为文件保存到服务器upload文件夹,具体实现:

1.添加对应的jar包

2.Controller页面

@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> doAdd(HttpServletRequest request,@RequestParam("pic") MultipartFile multipartFile,reimb reimb){
Map<String, Object> map = new HashMap<String, Object>();
//处理上传文件
String oldFileName = multipartFile.getOriginalFilename();
//文件后缀
String suffix = oldFileName.substring(oldFileName.lastIndexOf("."));
//获取文件提交路径(服务器)
//request.getServletContext() --> application
String uploadPath = request.getServletContext().getRealPath("/upload");
//文件重命名
//时间(毫秒数)+随机数+_blog+suffix
//1970-1-1~今天   System.currentTimeMillis();
String newFileName = System.currentTimeMillis()+new Random().nextInt(1000000)+"_blog"+suffix;
//上传文件 java.io.File
File targetFile = new File(uploadPath,newFileName);
try {
multipartFile.transferTo(targetFile);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
reimb.setMypic(newFileName);
reimbdao.insert(reimb);
map.put("result", true);
return map;
}


3.spring-mvc页面

     

 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="500000"></property>
<property name="defaultEncoding">
<value>UTF-8</value>
</property>
 </bean>


4.add.jsp页面

    

<div class="form-group">
    <label for="pic" class="col-sm-2 control-label">报销单据:</label>
    <div class="col-sm-10">
      <input type="file" name="pic" class="form-control" id="pic" placeholder="上传图片">
    </div>
  </div>
 <button type="button" class="btn btn-primary" οnclick="submitForm()">保存</button>

<!--表单提交js方法-->

function submitForm(){
var $form = $modal.find('form');
var action = $form.attr('action');
//文件上传提交表单需要如下代码
//FormData html5新添加的属性 ,可以支持文件上传
//FormData 在ie8中不支持,  jquery.form.js
//new FormData(dom)
//jquery-->dom  $form.get(0);  $form[0]
//dom-->jquery  $(dom)
var form = new FormData($form.get(0));
$.ajax({
url:action,
type:'post',
data:form,
async: false,
                cache: false,
               contentType: false,
                processData: false,
success:function(data){
$modal.modal('hide');
swal("添加成功!", "看去看看吧", "success");
bootTable.bootstrapTable('refresh');
}
});
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值