Java 将图像上载到数据库

Java 将图像上载到数据库,java,mysql,file,spring-mvc,upload,Java,Mysql,File,Spring Mvc,Upload,我试图将图像上传到数据库中,然后在jsp页面上显示它们。 这就是我正在做的,但我得到的只是图像的名称。是的,当然不能这么简单。你对我有什么建议吗 JSP输入文件: <spring:bind path="image"> <div class="form-group ${status.error ? 'has-error' : ''}"> <label class="col-sm-2 control-label"><th><

我试图将图像上传到数据库中,然后在jsp页面上显示它们。 这就是我正在做的,但我得到的只是图像的名称。是的,当然不能这么简单。你对我有什么建议吗

JSP输入文件:

<spring:bind path="image">
    <div class="form-group ${status.error ? 'has-error' : ''}">
        <label class="col-sm-2 control-label"><th><spring:message
                    code="label.image" /></th></label>
        <div class="col-sm-10">
            <form:label for="image" path="image">Image</form:label>
            <form:input path="image" type="file" />
            <form:errors path="image" class="control-label" />
        </div>
    </div>
</spring:bind>
控制器

public String saveBook(@ModelAttribute("bookForm") @Validated Book book, BindingResult result, Model model,
        final RedirectAttributes redirectAttributes) throws IOException {
    if (result.hasErrors()) {
        model.addAttribute("genreList", populateDefaultModel(model));
        return "booksView/bookform";
    } else {

        redirectAttributes.addFlashAttribute("css", "success");
        if (book.isNew()) {
            // System.out.println(book.getId());
            redirectAttributes.addFlashAttribute("msg", "book added successfully!");
        } else {
            redirectAttributes.addFlashAttribute("msg", "book updated successfully!");
        }
        bookService.saveOrUpdate(book);
        // POST/REDIRECT/GET
        return "redirect:/motsach/"; // + book.getId();
    }
}

这里有很多问题。首先,您的数据库列准备好接受图像了吗?它是
BLOB
型还是
LONGBLOB
型?其次,您是否已验证图像文件是否从表单到达控制器?您是否做过类似文件大小的调试打印来查看它是否达到了目标?第三,不要这样做。使用本地文件系统或AWS S3存储映像。1。是的,它是LongBlob,我做了一些测试,我可以根据它的本地地址存储特定的图像。2.不,图像无法到达控制器,数据库中只有一个名称。3.对不起,你有什么教程给我吗?我以前从未使用过AWSS3。我不喜欢Java。对不起,我是个PHP人。虽然有一个SDK,但我发现Amazon的文档很好。这里有很多问题。首先,您的数据库列准备好接受图像了吗?它是
BLOB
型还是
LONGBLOB
型?其次,您是否已验证图像文件是否从表单到达控制器?您是否做过类似文件大小的调试打印来查看它是否达到了目标?第三,不要这样做。使用本地文件系统或AWS S3存储映像。1。是的,它是LongBlob,我做了一些测试,我可以根据它的本地地址存储特定的图像。2.不,图像无法到达控制器,数据库中只有一个名称。3.对不起,你有什么教程给我吗?我以前从未使用过AWSS3。我不喜欢Java。对不起,我是个PHP人。虽然有一个SDK,但我发现Amazon的文档很好。
public String saveBook(@ModelAttribute("bookForm") @Validated Book book, BindingResult result, Model model,
        final RedirectAttributes redirectAttributes) throws IOException {
    if (result.hasErrors()) {
        model.addAttribute("genreList", populateDefaultModel(model));
        return "booksView/bookform";
    } else {

        redirectAttributes.addFlashAttribute("css", "success");
        if (book.isNew()) {
            // System.out.println(book.getId());
            redirectAttributes.addFlashAttribute("msg", "book added successfully!");
        } else {
            redirectAttributes.addFlashAttribute("msg", "book updated successfully!");
        }
        bookService.saveOrUpdate(book);
        // POST/REDIRECT/GET
        return "redirect:/motsach/"; // + book.getId();
    }
}