MultipartFile上传多个文件

前台页面form表单

注意enctype="multipart/form-data"要写上

<form action="http://localhost:8080/manage/manage-model" method="post" enctype="multipart/form-data">
        模型描述文件xml:<input type="file" name="File" value=""/><br/>
        模型动态库文件dll:<input type="file" name="File" value=""/><br/>
        备注:<input type="text" name="remark" value=""/><br/>
        模型版本:<input type="text" name="versions" value=""/><br/>
        <input type="submit" value="提交"/>
    </form>

后台处理

注意:MultipartFile是二进制流要用@Controller
参数接收@RequestParam("File")要与表单的name="File"对应

@Controller
@RequestMapping(value = "/manage")
public class ModelStorageManageController {
    @Autowired
    private ModelStorageManageService modelStorageManageService;

    /**
     * 前端请求,进行增删改查
     */
    //新增模型文件
    @PostMapping(value = "/manage-model")
    public ResultUtil addModelStorage(ModelStorage modelStorage, HttpServletRequest request, @RequestParam("File") MultipartFile[] multipartFiles) throws IOException {
        User user = (User) request.getSession().getAttribute("user");
        //从session中取出用户id添加
        modelStorage.setUserId(user.getId());
        //从上传的xml文件中读取到name和name_english字段
        String fileName = UUID.randomUUID().toString();
        modelStorage.setFileName(fileName);
        for (MultipartFile multipartFile : multipartFiles) {
            if (multipartFile.getOriginalFilename().contains(".xml")) {
                String folder = "C:/upload/" + fileName.substring(0,7) + "/Model/Config/";
                File fileFolder = new File(folder);
                if(!fileFolder.exists()){
发布了45 篇原创文章 · 获赞 1 · 访问量 1101

猜你喜欢

转载自blog.csdn.net/lqq404270201/article/details/103297252