仲小白 2021-10-09 21:01 采纳率: 0%
浏览 70

form提交后,post请求被重定向成了get请求

一个简单的springmvc实现的上传功能,主要代码如下

img

<form action="<%=contextPath%>/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit" value="上传"/>
</form>
@RequestMapping("/upload")
public String uploadFile(HttpServletRequest request, Model model, MultipartFile 
       file) throws Exception {
        String orginalname = file.getOriginalFilename();
        String newfilename = UUID.randomUUID() + 
               orginalname.substring(orginalname.indexOf("."));
        String path =         
        request.getSession().getServletContext().getRealPath("/upload");
        System.out.println("path: " + path);
        file.transferTo(new File(path + "/" + newfilename));
        model.addAttribute("image", newfilename);
        model.addAttribute("message", "上传成功! ");
        return "success";
    }

工程ssmtest下有upload目录,请求路径 http://localhost:8080/ssmtest/upload的时候,请求会被重定向为http://localhost:8080/ssmtest/upload/, POST请求方法也变成了GET方法,直接导致本来通过post方式传到后端的MultipartFile对象,变成get方式后直接丢失了,后端获取不到MultipartFile对象了,请大牛解惑,不甚感谢。(只有目录跟请求路径重名才会这样,目录名改掉后,/upload不会重定向,请求方式也不会变化)

img


img

  • 写回答

3条回答 默认 最新

  • 关注

    上传文件的路径固定很正常,重名是什么意思?

    评论

报告相同问题?

问题事件

  • 修改了问题 10月9日
  • 修改了问题 10月9日
  • 修改了问题 10月9日
  • 创建了问题 10月9日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器