ajax中url路径ssm,ssm+maven框架使用ajax请求上传文件

上传图片的请求方式一般分为两种:

第一种是通过表单中的action跳转。

第二种是通过Ajax异步传输。

本篇文章使用的是第二种方式。

pom.xml中添加依赖

commons-fileupload

commons-fileupload

1.3.1

springmvc的配置文件

前台html页面

文件上传与下载

文件:

上传文件

$(function () {

$("#upload").click(function () {

var formData = new FormData($('#uploadForm')[0]);//序列化表单,将上传类型设置为文件对象

$.ajax({

type: 'post',

url: "/upload.action",

data: formData,

cache: false,//文件不设置缓存

processData: false,//数据不被转换为字符串

contentType: false,//上传文件时使用,避免 JQuery 对其操作

}).success(function (data) {

alert("上传成功");

}).error(function () {

alert("上传失败");

});

});

});

action文件

@RequestMapping(value = "/upload.action")

public @ResponseBody

String update(@RequestParam(value = "fileName", required = false) MultipartFile file, HttpServletRequest request) throws IOException {

String path = request.getServletContext().getRealPath("upload");//文件的上传路径

System.out.println("path" + path);

String fileName = file.getOriginalFilename();//获取文件名

System.out.println("文件名" + fileName);

String path1[] = path.split("\\\\");//对于特殊字符的分隔| ^ $ * . ( ) \ /等都是正则表达式的一部分,只能通过前面加上\\进行转义。注意\要用三个\\\,也就是split(“\\\\”)

String path2 = path1[path1.length - 1];//截取图片所在的文件夹名称

File dir = new File(path, fileName);//将指定文件上传到指定的目录下

/**

* 如果文件夹不存在,自动创建该文件夹

*/

if (!dir.exists()) {

dir.mkdirs();

}

//MultipartFile自带的解析方法

if (!file.isEmpty()) {

file.transferTo(dir);

return path2 + '\\' + fileName;

} else {

System.out.println("空文件");

return "不允许上传空文件";

}

}

完整的代码已经上传至github,写的不好,欢迎指教。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值