图片上传服务器-回显

àì夳堔傛蜴生んèń 2022-06-06 08:46 380阅读 0赞

jar包
jar包

配置文件

  1. <!-- 文件上传解析器 -->
  2. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>

service层

  1. public String uploadimg(MultipartFile avata, HttpServletRequest request) {
  2. String fileurl = "";
  3. if (avata.isEmpty()) {
  4. System.out.println("无法找到文件");
  5. return "";
  6. } else {
  7. System.out.println("文件长度: " + avata.getSize());
  8. System.out.println("文件类型: " + avata.getContentType());
  9. System.out.println("文件名称: " + avata.getName());
  10. System.out.println("文件原名: " + avata.getOriginalFilename());
  11. System.out.println("========================================");
  12. String realPath = request.getSession().getServletContext()
  13. .getRealPath("/upload");
  14. File targetFile = new File(realPath);
  15. if (!targetFile.exists()) {
  16. targetFile.mkdirs();
  17. }
  18. System.out.println(realPath);
  19. int i = avata.getOriginalFilename().lastIndexOf(".");// 返回最后一个点的位置
  20. String extension = avata.getOriginalFilename().substring(i + 1);// 取出扩展名
  21. String filename = UUID.randomUUID().toString() + "." + extension;
  22. fileurl = filename;
  23. try {
  24. avata.transferTo(new File(realPath, filename));
  25. } catch (IllegalStateException e) {
  26. e.printStackTrace();
  27. } catch (IOException e) {
  28. e.printStackTrace();
  29. }
  30. return fileurl;
  31. }
  32. }

controller层

  1. // 添加
  2. @RequestMapping("add.do")
  3. public String add(Item item,@RequestParam(value = "imgSize1File", required = false) MultipartFile file,HttpServletRequest request) {
  4. String path = itemService.uploadimg(file, request);
  5. item.setPic(request.getContextPath() + "/upload/" + path);
  6. itemService.add(item);
  7. return "redirect:findItem.do";
  8. }

jsp页面

  1. js脚本
  2. function submitImgSize1Upload() {
  3. var filePath = $("#imgSize1File").val();
  4. if (filePath == "") {
  5. $("#imgSize1File").after("<span class='messageImg' style='color: red'>商品图片不能为空!</span>");
  6. } else {
  7. var fileType = filePath.substring(filePath.lastIndexOf(".") + 1).toLowerCase();
  8. $(".messageImg").remove();
  9. if ("jpg" != fileType && "png" != fileType) {
  10. $("#imgSize1File").after("<span class='messageImg' style='color: red'>请上传JPG,PNG格式的图片</span>");
  11. $("#add").attr("disabled", "disabled");
  12. } else if (document.getElementById("imgSize1File").files[0].size / 1024 > 2048) {
  13. $("#imgSize1File").after("<span class='messageImg' style='color: red'>图片不能超过2MB</span>");
  14. $("#add").attr("disabled", "disabled");
  15. } else {
  16. $("#add").removeAttr("disabled");
  17. var reader = new FileReader();
  18. reader.readAsDataURL(document.getElementById("imgSize1File").files[0]);
  19. reader.onload = function(e) {
  20. var img = $("#imgSize1ImgSrc")[0];
  21. img.src = this.result;
  22. }
  23. }
  24. }
  25. }
  26. //页面
  27. <td>商品图片<span style="color: red;"> *</span></td> <td> <p> <label></label> <img id='imgSize1ImgSrc' height="100" width="100" /> <span class='messageImg' style='color: black;'>图片不能超过2MB</span> <input type='file' id='imgSize1File' name='imgSize1File' class="file" onchange='submitImgSize1Upload()' /> </p> </td>

发表评论

表情:
评论列表 (有 0 条评论,380人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JavaEE图片的场景

    问题描述: 最近练习个人博客项目的时候,涉及到上传图片的场景。一些案例上传的文件或者图片都是保存在Window系统下的指定目录,或者是保存在项目的类路径下的static目

    相关 图片

    平时开发时可能会遇到上传图片问题,但如果是上传图片,多数是先进行上传然后才能回显, 今天给大家介绍一个简单的上传前先对图片进行回显的方式,仅用一小部分js代码即可实现 js