利用 ajax 上传图片 (Spring Boot)

ゞ 浴缸里的玫瑰 2023-05-30 13:58 183阅读 0赞

效果如下:

20191110185810462.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MDM3MjY0_size_16_color_FFFFFF_t_70

1.启动类中****入

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MDM3MjY0_size_16_color_FFFFFF_t_70 1

SpringBoot重写addResourceHandlers映射文件路径

  1. @Override
  2. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  3. registry.addResourceHandler("/imctemp-rainy/**").addResourceLocations("file:D:/E/");
  4. }

设置静态资源路径

  1. 表单 前端 页面


    $(function () {

    1. $("#button").click(function () {
    2. var form = new FormData();
    3. form.append("file", document.getElementById("file").files[0]);
    4. $.ajax({
    5. url: "/stu/upload", //后台url
    6. data: form,
    7. cache: false,
    8. async: false,
    9. type: "POST", //类型,POST或者GET
    10. dataType: 'json', //数据返回类型,可以是xml、json等
    11. processData: false,
    12. contentType: false,
    13. success: function (data) { //成功,回调函数
    14. if (data) {
    15. var pic="/imctemp-rainy/"+data.fileName;
    16. $("#url img").attr("src",pic);
    17. // alert(JSON.stringify(data));
    18. } else {
    19. alert("失败");
    20. }
    21. },
    22. error: function (er) { //失败,回调函数
    23. alert(JSON.stringify(data));
    24. }
    25. });
    26. })

    })

控制器

  1. public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {
  2. File targetFile = new File(filePath);
  3. if (!targetFile.exists()) {
  4. targetFile.mkdirs();
  5. }
  6. FileOutputStream out = new FileOutputStream(filePath +"/"+ fileName);
  7. out.write(file);
  8. out.flush();
  9. out.close();
  10. }
  11. //处理文件上传
  12. @ResponseBody //返回json数据
  13. @RequestMapping(value = "upload", method = RequestMethod.POST)
  14. public JSONObject uploadImg(@RequestParam("file") MultipartFile file,HttpServletRequest request) {
  15. String contentType = file.getContentType();
  16. System.out.print(contentType);
  17. String fileName = System.currentTimeMillis()+file.getOriginalFilename();
  18. String filePath = "D:/E";
  19. JSONObject jo = new JSONObject();//实例化json数据
  20. if (file.isEmpty()) {
  21. jo.put("success", 0);
  22. jo.put("fileName", "");
  23. }
  24. try {
  25. uploadFile(file.getBytes(), filePath, fileName);
  26. jo.put("success", 1);
  27. jo.put("fileName", fileName);
  28. // jo.put("xfileName", filePath+"/"+fileName);
  29. } catch (Exception e) {
  30. // TODO: handle exception
  31. }
  32. //返回json
  33. return jo;
  34. }

发表评论

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

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

相关阅读

    相关 spring boot本地图片

    前几天项目中刚好需要上传图片的需求,当时想的是用七牛云,因为我用七牛云也用了好几次,就是把图片上传到七牛云空间里面,数据库里面保存的是这张上传图片的url地址 那么页面访...