php显示本地上传图片,js如何获取本地图片显示到浏览器并上传至服务器

这篇文章介绍的内容是关于浏览器显示本地图片的预览图,调用后端接口将图片上传至服务器,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

一、jsp页面

pageEncoding="UTF-8"%>

姓名

性别

上传图片

保存

二、controller接口/**

* 添加用户

* @param session

* @param request

* @param response

* @throws IOException

*/

@RequestMapping(value = "/addUser", method = RequestMethod.POST)

public void addUser(MultipartFile entImg,HttpSession session, HttpServletRequest request, HttpServletResponse response)

throws IOException {

String realName = request.getParameter("realName");//姓名

String gender = request.getParameter("gender");// 性别

//调用工具类上传图片

String userPic = FileUtils.uploadUser(entImg, request);

TestUser testUser = new TestUser();

testUser.setRealName(realName);

testUser.setGender(Integer.parseInt(gender));

testUser.setUserPic(userPic); // 添加人员信息及图片url到数据库

int res= userService.insertUser(testUser); if (res > 0) {

writeJSON(response, res);

} else {

writeJSON(response,null);

}

}

三、工具类public class FileUtils {

FILES_PATH("files_path"); // 此路径存放于jdbc.properties配置文件中,例如:files_path=D:/uploadImgs

private static final String path = PropertiesUtil.get(FILES_PATH)+"/user"; /**

* 上传图片URL

* @param fileName

* @param request

* @return

*/

public static String getPath(String fileName,HttpServletRequest request) {

String ip=IpUtil.getIP(); int port=request.getLocalPort();

StringBuilder sb=new StringBuilder();

sb.append("http://");

sb.append(ip);

sb.append(":");

sb.append(port);

sb.append("/uploadImgs/user/");

sb.append(fileName); return sb.toString();

} /**

* 以时间戳对上传文件进行重新命名

* @param file

* @return

*/

public static String renameFile(MultipartFile file) { if(file!=null) {

Long date=new Date().getTime();

String fileRealName=file.getOriginalFilename();

String prefix=fileRealName.substring(fileRealName.lastIndexOf(".")+1);

String fileName = date.toString()+"."+prefix;

return fileName;

} return null;

} /**

* 图片上传

* @param file

* @param fileName

*/

public static String uploadUser(MultipartFile file, HttpServletRequest request) { // 重命名

String renameFile = FileUtils.renameFile(file); // 图片名

String picPath = FileUtils.getPath(renameFile, request); // 上传

File targetFile = new File(borpath, renameFile); if (!targetFile.exists() && !targetFile.isDirectory()) {

targetFile.mkdirs();

} try {

file.transferTo(targetFile);

} catch (Exception e) {

e.printStackTrace();

} return picPath;

}

}

四、效果

6daeced77cc92e4223c826f765402351.png

23ee50ebe0bd94a8723e71f85f7305f1.png

3.图片上传成功后保存至指定文件夹下

022206cb71bc3f97d65f8d6827d7a129.png

4.数据库数据

97ea9428502615ffcac39afe0187fc88.png

相关推荐:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值