猿问

上传文件时后台的request对象时空的,tempFile里面什么都没有

public void doPost(HttpServletRequest req, HttpServletResponse resp)
     throws ServletException, IOException {
  System.out.println("已接收到请求");
  //获取前台传过来的流信息
  InputStream fileSource = req.getInputStream();
  //临时文件存储位置
  String tempFileName = "D:/temp/tempFile";
  //创建临时文件
  File tempFile = new File(tempFileName);
  //输出流指向临时文件
  FileOutputStream outputStream = new FileOutputStream(tempFile);
  byte b[] = new byte[1024];
  int n;
  //从输入流读取内容写入到输出流
  while(( n = fileSource.read(b)) != -1){
     outputStream.write(b, 0, n);
  }
  //关闭输入、输出流
  outputStream.close();
  fileSource.close();

}

Eyre悱
浏览 1480回答 2
2回答

胜利女神在微笑

                DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb factory.setRepository(new File(this.getServletContext().getRealPath("WEB-INF")));// 设置缓冲区目录 ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request);// 得到所有的文件 Iterator<FileItem> i = items.iterator(); if (!i.hasNext()) { logger.warn("receiveFile ,file not exists!"); return; } FileItem fi = (FileItem) i.next(); fi.getInputStream()

胜利女神在微笑

别忘了采纳
随时随地看视频慕课网APP

相关分类

Java
我要回答