为了账号安全,请及时绑定邮箱和手机立即绑定

enctype="multipart/form-data" 破坏了我的应用程序

enctype="multipart/form-data" 破坏了我的应用程序

泛舟湖上清波郎朗 2022-05-25 16:33:36
我正在制作简单的 Spring MVC 应用程序,我也在阅读 Spring in Action 第 3 版。我来到了文件上传的章节。为此,我需要将 enctype="multipart/form-data" 添加到 < sf:form > 标签。当我这样做时,我的 sf:form 停止工作,所以我在这个网站上找到了如何修复它的问题,并用 <form> 替换了 <sf:form>,现在它完全坏了,我不知道如何修复它,当我制作发布请求我收到错误必需的字符串参数“名称”不存在我的表格(简介省略): <div class="center"> <h1>Add a book!</h1>  <fieldset>    <form method="post" action="/books"  acceptCharset="utf-8"      enctype="multipart/form-data">    <table>        <tr>            <td>Name</td>            <td><input type="text" name="name"> <sf:errors path="name" cssClass="isa_error"/></td>        </tr>        <tr>            <td>Desc</td><td><textarea cols="50" rows="11" name="desc">Опис</textarea></td>        </tr>        <tr>            <td>Author</td>            <td><input name="aut" type="text"> <sf:errors path="aut" cssClass="isa_error"/></td>        </tr>        <tr>            <td>Year</td>            <td><input name="year" type="text"><sf:errors path="year" cssClass="isa_error"/></td>        </tr>        <tr>            <td>Price</td>            <td><input name="price" type="text"> <sf:errors path="price" cssClass="isa_error"/></td>        </tr>        <tr>            <td><input type="file" name="image" ></td>        </tr>        <tr>            <td><input type="submit" value="add"></td>        </tr>    </table></form><p><form action="/books"   method="get" >    <input type="submit" value="Повернутися"></form></p></fieldset>和映射:  @PostMapping("/books")public String add( @RequestParam("name") String name,@RequestParam("desc") String desc,@RequestParam("book") String aut,@RequestParam("year") String year,@RequestParam("price") int price, BindingResult result, @RequestParam(name = "image", required = false) MultipartFile image){    if (result.hasErrors()) return "addBook";    Book book = new Book();    book.setAut(aut);    book.setName(name);    book.setDesc(desc);    book.setYear(year);    book.setPrice(price);另外,即使我可以修复它,如何对我的书籍实体进行验证,我认为它也会被破坏
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

我通过将 MultipartResolver bean 添加到我的 Config 来修复 id。


    @Bean

    public MultipartResolver multipartResolver(){

    StandardServletMultipartResolver resolver = new StandardServletMultipartResolver();

    return resolver;

}

我还需要将它应用到我的调度员


MultipartConfigElement multipartConfig = new 

MultipartConfigElement(

            "c:/temp", 50000000, 50000000, 0);

    dispatcher.setMultipartConfig(multipartConfig);

希望我的解决方案对 smbd 有所帮助。


查看完整回答
反对 回复 2022-05-25
  • 1 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号