MultipartHttpServletRequest+ajaxfileupload.js文件上传

 

1.界面(记得引入ajaxfileupload.js)下载链接

 

<div class="col-sm-7 col-md-7">
		<div class="bg-white padd-t30">
				<a class="upload-btn" href="javascript:;">上传文件 
                    <input type="file" name="file" id="newEditPUpload"></input>
				</a>
				<input type="hidden" id="fileName"></input>
		</div>
</div>

2.js发ajax请求到后台

$(".upload-btn").change(function(){
		if (!(/(\.|\/)(jpg|png|jpeg|bmp|doc|docx)$/i.test($("#newEditPUpload").val()))) { 
            alert("仅支持JPG,PNG,JPEG,BMP,DOC,DOCX格式");
            return false;
        }
		$.ajaxFileUpload({
            url: '/upload', //用于文件上传的服务器端请求地址
            secureuri: false, //是否需要安全协议,一般设置为false
            fileElementId: 'newEditPUpload', //文件上传域的ID
            dataType: 'json', //返回值类型 一般设置为json
            type: 'post',
            success: function (result) {
                if (result.code == 1) {
                	$("#fileName").val(result.data);
                	alert("上传成功");
                  } else {
                    alert("上传文件出错");
                }
            }
        });
	});

 

3.后台处理

@RequestMapping("/upload")
	@ResponseBody
	Result upload(HttpServletRequest request, HttpServletResponse response) {
		Result result = new Result();
		String url = "";
		if (request instanceof MultipartHttpServletRequest) {
			MultipartHttpServletRequest mreq = (MultipartHttpServletRequest) request;

			// 获取他文件上传的对象
			String fileName = mreq.getFileNames().next();
			MultipartFile multipartFile = mreq.getFile(fileName);

			if (multipartFile.getSize() > 1024 * 1024 * 500)
				return Result.error("文件过大");

			// 获取文件真实名称
			String originName = multipartFile.getOriginalFilename();

			// 重新设置文件名称
			/*String suffix = originName.substring(originName.lastIndexOf(".") + 1);*/
			String finalName = "/"+UUID.randomUUID() +"/" + originName;

			// 判断文件夹和文件是否存在
			String folder = filePath + "/" + UUID.randomUUID() +"/" ;
			//文件传输到目标位置
			File file = new File(folder);
			if (!file.exists())
				file.mkdirs();

			url = folder + originName;

			file = new File(url);
			if (file.exists())
				file.delete();

			try {
				multipartFile.transferTo(file);
				result.setData(finalName);
				result.setCode(1);
			} catch (Exception e) {
				result.setCode(2);
			}

		}
		return result;

	}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值