ssm上传文件获取路径_ssm 框架下的上传文件功能

// 传入一个事故ID

String accidentID = request.getParameter("accidentID");

accidentID = "00520180509002";

if (StringUtils.isEmpty(accidentID))

{

model.addAttribute("msg", "事故ID为空");

model.addAttribute("code", 1);

return model;

}

if (file == null)

{

model.addAttribute("msg", "上传失败:文件为空");

model.addAttribute("code", 111);

return model;

}

// 获得原始文件名

String fileName = file.getOriginalFilename();

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

// 获取上传文件扩展名

String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length());

// 对扩展名进行小写转换

fileExt = fileExt.toLowerCase();

// 图片文件大小过滤

if (!"jpg".equals(fileExt) && !"png".equals(fileExt) && !"mp4".equals(fileExt))

{

model.addAttribute("msg", "上传失败:无效的图片/视频类型");

model.addAttribute("code", 111);

return model;

}

// long fileSize = file.getSize();

// if (fileSize > (500 * 1024))

// {

// model.addAttribute("msg", "上传失败:文件大小不能超过500K");

// model.addAttribute("code", 111);

// return model;

// }

// 新文件名

String newFileName = UUID.randomUUID() + fileName;

String realPath = request.getServletContext().getRealPath("/");

String realPathParent = (new File(realPath)).getParent();

// 上传位置

String path = realPathParent + "/img/"; // 设定文件保存的目录

File f = new File(path);

if (!f.exists())

f.mkdirs();

if (!file.isEmpty())

{

try

{

FileOutputStream fos = new FileOutputStream(path + newFileName);

InputStream in = file.getInputStream();

int b = 0;

while ((b = in.read()) != -1)

{

fos.write(b);

}

fos.close();

in.close();

} catch (Exception e)

{

e.printStackTrace();

}

}

management.setAccidentID(accidentID);

List strList = new ArrayList();

List mapList = new ArrayList();

List listMap = new ArrayList();

String pathNew = "/img/" + newFileName;

// 往数据库中插入(路径拼接)数组

String strMap = uploadService.selectPaths(management);

if (StringUtils.isEmpty(strMap))

{

strList.add(pathNew);

} else

{

String[] str1 = strMap.split(",");

for (String list : str1)

{

strList.add(list);

}

strList.add(pathNew);

}

for (String map : strList)

{

mapList.add(map);

}

// 集合

System.out.println("上传图片到:" + path + newFileName);

String imgDir = mapList.toString().replace("[", "").replace("]", "");

management.setImgDir(imgDir);

model.addAttribute("code", uploadService.updatePath(management) > 0 ? 0 : 1);

// 返回所有图片的绝对路径

for (String map : strList)

{

fileExt=map.substring(map.indexOf(".")).replace("]", "");

switch (fileExt)

{

case ".jpg":

map = map.substring(map.indexOf("img") - 1, map.indexOf(".jpg") + 4);

break;

case ".png":

map = map.substring(map.indexOf("img") - 1, map.indexOf(".png") + 4);

break;

case ".mp4":

map = map.substring(map.indexOf("img") - 1, map.indexOf(".mp4") + 4);

break;

default:

break;

}

// 封装图片显示路径(根据当前访问的客户端请求的地址来封装)

String request_path = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();

listMap.add(request_path + map);

}

imgDir = listMap.toString().replace("[", "").replace("]", "");

model.addAttribute("imgDir", imgDir);

model.addAttribute("code", 99);

return null;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值