本文共 1498 字,大约阅读时间需要 4 分钟。
前端:(主要是一个input标签和form属性的设置)
form 属性的设置别忘了
服务器端:(利用FileItem对象处理表单数据和文件数据)
void save_img(HttpServletRequest request, HttpServletResponse response) throws IOException, SQLException { DiskFileItemFactory fac=new DiskFileItemFactory(); ServletFileUpload upload= new ServletFileUpload(fac); upload.setHeaderEncoding("utf-8");//解决上传文件名的乱码 String name=""; int i=0;//给我跑!!! for(i=0;i<100000;i++) { } try { Listlist=upload.parseRequest(request); for (FileItem fileItem : list) { if(fileItem.isFormField()){ //查看是表单数据还是文件数据,前者返回值是真 //System.out.println(fileItem.getFieldName()+"="+fileItem.getString()); //这是获取表单数据的函数 } else{ //上传项 InputStream inputStream = fileItem.getInputStream(); //URL path = getServletContext().getResource("/images"); //System.out.println(getServletContext()); String path="D:\\software\\apache-tomcat-9.0.31\\webapps\\big\\images\\"; //路径和文件名 name=Integer.toString(get_car_id())+".png";//获取上传的文件名 System.out.println(name); File file= new File(path+name); //服务端建立一个空文件 System.out.println(path+name); if(!file.exists()){ file.createNewFile(); } //文件存不存在都会执行,就会导致文件重名(重复上传)覆盖问题 OutputStream out = new FileOutputStream(file); //写入输出流 IOUtils.copy(inputStream, out); IOUtils.closeQuietly(inputStream); IOUtils.closeQuietly(out); out.close(); } } //保存用户数据 } catch (FileUploadException e) { e.printStackTrace(); } }
转载地址:http://taiyb.baihongyu.com/