81,094
社区成员
发帖
与我相关
我的任务
分享
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out=response.getWriter();
request.setCharacterEncoding("GBK");
response.setContentType("text/html; charset=GBK");
//设置上传文件的名字
String uploadPath ="D:\\JavaSource\\Task\\uploadDir\\"; // 上传文件的目录
String tempPath = "D:\\JavaSource\\Task"; // 临时文件目录
HttpSession ses=request.getSession();
try {
FileItemFactory factory = new DiskFileItemFactory();
// 设定缓存大小
((DiskFileItemFactory) factory).setSizeThreshold(4096);
// 设定暂存Directory
((DiskFileItemFactory) factory).setRepository(new File(tempPath));
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置最大文件尺寸,这里是4MB
upload.setSizeMax(4194304);
// 得到所有的文件:
//解析用户请求的参数,取出文件上传信息
List fileItems = upload.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
if(i.hasNext()) {
FileItem fileItem = (FileItem)i.next();
String fileName = fileItem.getName();
System.out.println(fileName);
//获取上传文件名,接下来处理一下,取出 文件名.扩展名 即可
fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
File uploadDir = new File(uploadPath,fileName); //构造上传文件存放位置
fileItem.write(uploadDir);
// 文件路径存入数据库
String sql_filename=uploadPath+fileName;
String taskid=(String)ses.getAttribute("add_taskid");
System.out.println("任务id:"+taskid);
FileUpload_down.add_file(sql_filename, taskid);
ses.removeAttribute("add_taskid");
// 获得文件名,这个文件名包括路径:
}
response.sendRedirect("welcom.jsp");
}
catch(Exception e) {
// 可以跳转出错页面
e.printStackTrace();
String error="上传失败!";
ses.setAttribute("error", error);
response.sendRedirect("error.jsp");
}
}
}
import java.io.*;
import java.sql.*;
public class PutImg {
public void putimg() {
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url = "JDBC:mysql://localhost/img?user=root&password=root&useUnicode=true&characterEncoding=gbk";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
//stmt.execute("insert into imgt (id) values (5)");
stmt.close();
PreparedStatement pstmt = null;
String sql = "";
File file = new File("c:/XXX");
InputStream photoStream = new FileInputStream(file);
//sql = " UPDATE imgt SET img = ? ";
sql = "INSERT INTO imgtable (img) VALUES (?)";
pstmt = conn.prepareStatement(sql);
pstmt.setBinaryStream(1, photoStream, (int) file.length());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]){
PutImg pi=new PutImg();
pi.putimg();
}
}