package com.qjc.controller;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import com.alibaba.fastjson.JSON;
import com.qjc.model.Archetype;
import com.qjc.service.ArchetypeService;
@Controller
public class FileUploadController {
private static final Logger logger = LoggerFactory.getLogger(FileUploadController.class);
@Resource
private ArchetypeService archetypeService;
public ArchetypeService getArchetypeService() {
return archetypeService;
}
@Autowired
public void setArchetypeService(ArchetypeService archetypeService) {
this.archetypeService = archetypeService;
}
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public @ResponseBody String upload(@RequestParam("name") String name, @RequestParam("file") MultipartFile file,
HttpServletResponse response) throws IOException {
if (!file.isEmpty()) {
try {
// 导入对象方法Archetype
Archetype record = new Archetype();
// 获取上传文件的原始名称
// String originalName = file.getOriginalFilename();
// 获取文件的后缀名
String extensionName = file.getOriginalFilename()
.substring(file.getOriginalFilename().lastIndexOf("."));
BufferedReader bufferedReader;
String read;
// 初始化变量str用""
String str = "";
bufferedReader = new BufferedReader(new InputStreamReader(file.getInputStream()));
while ((read = bufferedReader.readLine()) != null) {
str += read;
}
logger.info(JSON.toJSONString(str));
//System.out.println(str);
// 调用mybatis生成的insertSelective功能传入数据库字段,使用record.set
record.setAdl(str);
record.setXml(extensionName);
// 使用service方法插入对象到数据库
archetypeService.insertSelective(record);
return "success";
} catch (Exception e) {
return "fail";
}
} else {
return "index";
}
}
}
SSM+Maven环境下上传文件到数据库指定字段中实例(已实现)
最新推荐文章于 2023-04-14 10:25:32 发布