Java 如何在SpringMVC中上载和检索文件(图像、音频和视频)

Java 如何在SpringMVC中上载和检索文件(图像、音频和视频),java,spring,spring-mvc,javabeans,Java,Spring,Spring Mvc,Javabeans,我正在用SpringMVC框架设计一个小应用程序。我有一个HTML页面,用户可以上传多个文件 这是我的HTML文件: 备选案文1: 备选案文2: 您可以使用多部分文件上载来上载和保存文件 byte[] bytes = file.getBytes(); BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(new File(

我正在用SpringMVC框架设计一个小应用程序。我有一个HTML页面,用户可以上传多个文件

这是我的HTML文件:


备选案文1:
备选案文2:

您可以使用多部分文件上载来上载和保存文件

     byte[] bytes = file.getBytes();
            BufferedOutputStream stream =
                    new BufferedOutputStream(new FileOutputStream(new File(name)));
            stream.write(bytes);
            stream.close();
这个来自spring boot的示例是一个很好的例子


下面是我在浏览该链接后所做的工作

控制器:

@RequestMapping(value=“/questionType/MCQ.do”,method=RequestMethod.POST)
public ModelAndView saveMCQuestion(@RequestParam(“option1”)String option1、@RequestParam(“option2”)String option2、@RequestParam(“img1”)多部分文件img1、@RequestParam(“img2”)多部分文件img2、@modeldattribute McqItem McqItem、HttpServletRequest请求)引发IOException{
ModelAndView ModelAndView=新建ModelAndView();
QuizItem QuizItem=(QuizItem)request.getSession().getAttribute(“QuizItem”);
mcqItem.setquick_id(String.valueOf(quizitem.getId());
QuizItem qType=(QuizItem)request.getSession().getAttribute(“qTypeItem”);
setQType(qType.getItemType());
//开始上传部分
字节[]img1文件=null;
字节[]img2File=null;
如果(!img1.isEmpty()&&!img2.isEmpty()){
试一试{
img1File=img1.getBytes();
img2File=img2.getBytes();
BufferedOutputStream流=
新缓冲输出流(新文件输出流(新文件(选项1));
stream.write(img1文件);
stream.write(img2File);
stream.close();
System.out.println(“成功上传”);
}捕获(例外e){
返回null;
}	}
//结束上载部分
projectDAO.saveQuestion(mcqItem);
addObject(“qtypeitem”,new QuizItem());
setViewName(“项目/qType”);
返回模型和视图;
}

你好,保罗,谢谢你的回答,但是我应该把这些代码放在哪里?此代码将图像发送到何处?图像将保存到服务器上的文件系统中。我上面粘贴的代码是针对控制器的。然而,我认为你最好看看这个示例项目——如果这有帮助的话——如果你接受这个答案,那就太好了。谢谢您是否使用spring boot(链接使用spring boot)。否则,您可能需要手动添加多部分配置元素和依赖项。