// 上传路径
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd/HH");
String pathdir = "/newsimages/uploadfile/"
+ dateformat.format(new Date());//
ServletContext realpathdir = request.getSession().getServletContext();
String path = realpathdir.getRealPath(pathdir);
// System.out.println(realpathdir);
// 如目录不存在,创建一个
File savedir = new File(path);
if (!savedir.exists())
{
savedir.mkdirs();
}
// 创建一个工厂类
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(savedir);
factory.setSizeThreshold(1024 * 1024);
ServletFileUpload fileuplod = new ServletFileUpload(factory);
int id = 0;
String fieldValue = "";
String filename = "";
try
{
// 解析各个表单域
List<FileItem> list = fileuplod.parseRequest(request);
for (FileItem fileItem : list)
{
if (fileItem.isFormField())
{
// 获得简单域的名字
String fieldName = fileItem.getFieldName();
// 获得简单域的值
fieldValue = fileItem.getString("UTF-8");
id = Integer.parseInt(fieldValue);
request.setAttribute(fieldName, fieldValue);
}
else
{
//获得file域的名字
String fieldName = fileItem.getFieldName();
//获得file域的值,带路径,即是路径+文件名
String value = fileItem.getName();
//取的file域的值的名字,不带路径
int pos = value.lastIndexOf("\\");
fieldValue = value.substring(pos+1);
//获得是file文件的内容,而不是路径+文件名
request.setAttribute(fieldName, fieldValue);
String ext = fieldValue.substring(fieldValue.length()-3).toLowerCase();
filename = UUID.randomUUID().toString()+ "."+ext;
//上传
fileItem.write(new File(savedir, filename));
}
News news = newsService.getNewsById(id);
news.setFile("/omservice"+pathdir+"/"+ filename);
news.setIsFocus(true);
news.setIsFirst(false);
newsService.saveNews(news);
//上传文件的路径///
request.setAttribute("imagepath", news.getFile());
}
}
catch(Exception e)
{
request.setAttribute("error", "上传失败!");
e.printStackTrace();
}
request.setAttribute("message", "上传成功!");
return mapping.findForward("success");
使用fileupload进行文件上传
最新推荐文章于 2021-03-19 02:32:22 发布