package
controllers;
import
java.io.IOException;
import
java.io.InputStream;
import
java.sql.Connection;
import
java.sql.PreparedStatement;
import
java.sql.SQLException;
import
javax.servlet
.ServletConfig;
import
javax.servlet
.ServletException;
import
javax.servlet
.annotation.MultipartConfig;
import
javax.servlet
.annotation.WebServlet;
import
javax.servlet
.http.HttpServlet;
import
javax.servlet
.http.HttpServletRequest;
import
javax.servlet
.http.HttpServletResponse;
import
javax.servlet.http.Part;
import
Dao.UploadFileDao;
import
connection.copy.MyConnection;
@WebServlet
("/serv")
@MultipartConfig
(maxFileSize =
16177215
)
public
class
serv
extends
HttpServlet {
private
static
final
long
serialVersionUID = 1L;
public
serv()
{
super
();
}
public
int
uploadFile(String firstName,
String lastName,
InputStream file)
{
String SQL
= "INSERT INTO users "
+ "(first_name, last_name, "
+ "photo) values (?, ?, ?)";
int
row =
0
;
Connection connection
= MyConnection.getConnection();
PreparedStatement preparedStatement;
try
{
preparedStatement
= connection.prepareStatement(sql);
preparedStatement
.setString(
1
, firstName);
preparedStatement
.setString(
2
, lastName);
if
(file !=
null
) {
preparedStatement.setBlob(
3
, file);
}
row = preparedStatement
.executeUpdate();
}
catch
(SQLException e) {
System.out.println(e.getMessage());
}
return
row;
}
protected
void
doPost(
HttpServletRequest request,
HttpServletResponse response)
throws
ServletException, IOException
{
String firstName
= request.getParameter("firstName");
String lastName
= request.getParameter("lastName");
InputStream inputStream =
null
;
String message =
null
;
Part filePart
= request.getPart("photo");
if
(filePart !=
null
) {
System.out.println(
filePart.getName());
System.out.println(
filePart.getSize());
System.out.println(
filePart.getContentType());
inputStream
= filePart.getInputStream();
}
int
row
= UploadFileDao
.uploadFile(firstName,
lastName,
inputStream);
if
(row >
0
) {
message
= "File uploaded and "
+ "saved into database";
}
System.out.println(message);
}
}