/** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub // TODO Auto-generated method stub HttpSession session = request.getSession(); request.setCharacterEncoding("UTF-8"); BufferedInputStream fileIn = new BufferedInputStream(request.getInputStream()); String fn = request.getParameter("fileName"); byte[] buf = new byte[1024]; File file = new File("/var/www/uploadres/" + session.getAttribute("username") + fn); BufferedOutputStream fileOut = new BufferedOutputStream(new FileOutputStream(file)); while (true) { int bytesIn = fileIn.read(buf, 0, 1024); if (bytesIn == -1) break; else fileOut.write(buf, 0, bytesIn); } fileOut.flush(); fileOut.close(); System.out.println(file.getAbsolutePath()); try { Class.forName("com.mysql.jdbc.Driver").newInstance(); try { Connection conn = DriverManager.getConnection(url, user, pwd); Statement stmt = conn.createStatement(); String sql = "UPDATE Users SET photo = '" + file.getName() + "' WHERE username='******'"; stmt.execute(sql); // PreparedStatement pstmt = conn.prepareStatement("UPDATE Users SET photo = ? WHERE // username='******'"); // InputStream inp = new BufferedInputStream(new FileInputStream(file)); // pstmt.setBinaryStream(1, inp, (int)file.length()); // pstmt.executeUpdate(); System.out.println("OK"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
@Transactional public DeviceTestData parseAndSaveBBIFile( InputStream inputStream, String verificationID, String originalFileName) throws IOException, DecoderException { BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); bufferedInputStream.mark(inputStream.available()); DeviceTestData deviceTestData = bbiFileService.parseBbiFile(bufferedInputStream, originalFileName); bufferedInputStream.reset(); calibratorService.uploadBbi(bufferedInputStream, verificationID, originalFileName); return deviceTestData; }