ADD file via upload

master
p10297854 4 years ago
parent ef97d481d2
commit 71ada9ab87

@ -0,0 +1,128 @@
package com.demo.files;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import com.domain.GetDBConnection;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
/**
* Servlet implementation class ImageOpServlet
*/
@WebServlet("/imageop-servlet")
public class ImageOpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ImageOpServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Connection con=null;
Statement sql;
ResultSet rs;
PreparedStatement preSql;
con = GetDBConnection.connectDB("musicMySQL","root","12345");
if(con == null ) return;
try {
sql=con.createStatement();
con.setAutoCommit(false);//程序必须调用commit或者rollback方法
String sqlStr ="SELECT * FROM music WHERE filename=?";
preSql = con.prepareStatement(sqlStr);
String filename = request.getParameter("filename");
filename = new String(filename.getBytes("iso8859-1"),"UTF-8");
System.out.println(filename);
preSql.setString(1, filename);
rs=preSql.executeQuery();
while(rs.next()) {
// String filename=rs.getString("filename");
String filepath = request.getSession().getServletContext().getRealPath("/WEB-INF/upload/"+filename);
Blob blob=rs.getBlob("musicMIDI");
InputStream in=blob.getBinaryStream();
File file = new File(filepath);
OutputStream out=new FileOutputStream(file);
FileInputStream is = new FileInputStream(file);
IOUtils.copy(in, out);
Tesseract instance = new Tesseract();
instance.setDatapath("C:\\tessdata");
instance.setLanguage("num");
String result=null;
try {
result=instance.doOCR(file);
} catch (TesseractException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(result);
PrintWriter out1 = response.getWriter();
out1.println(result);
//设置相应类型让浏览器知道用什么打开 用application/octet-stream也可以看是什么浏览器
/*response.setContentType("application/x-msdownload");
//设置头信息
response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
//InputStream inputStream = new FileInputStream(file);
OutputStream ouputStream = response.getOutputStream();
//ouputStream.write(filename.getBytes());
byte b[] = new byte[1024];
int n =0;
while((n = is.read(b)) != -1){
ouputStream.write(b,0,n);
}
IOUtils.copy(in, ouputStream);
//关闭流
ouputStream.close();
in.close();*/
}
//RequestDispatcher view = request.getRequestDispatcher("/index.jsp");
//view.forward(request, response);
}catch(SQLException e) {
//RequestDispatcher view = request.getRequestDispatcher("/index.jsp");
//view.forward(request, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Loading…
Cancel
Save