上传图片到数据库 非常紧急!JSP上传图片到数据库中,action,jsp分开写 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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(); } } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws java.lang.Exception { XzqlActionForm xzqlActionForm = (XzqlActionForm)form; Xzql xzql = new Xzql(); XzqlDao xzqlDao = new XzqlDao(); CharConvert charConvert = new CharConvert(); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); String filename = request.getParameter("outflowimg"); File file = new File(filename); FileInputStream fis = new FileInputStream(file); int len = (int)file.length(); xzqlDao.insertDocument(xzql,fis,len); ArrayList arrayList = (ArrayList)xzqlDao.getXzqlList(); request.setAttribute("arrayList", arrayList); return mapping.findForward("xzqlList"); }String filename = request.getParameter("outflowimg"); 从页面中获取的input 框的值,filename怎么为空啊 <form method="post" action="Upload" ENCTYPE="multipart/form-data"> 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"); } } } 0问题如解决,请及时结贴!Regards 麻烦你可以给我发份吗?谢谢, 我用的是struts 1.3 求助:关于js转到后台java类的方法 myeclipse如何使用纯java驱动连接数据库 EXT Tree 求demo 100分。。。。等你拿 这是一个什么错误? 100: jsp中的url中文参数问题如何解决 如何能去掉HTTP标头中的Set-Cookie字段 流程控制问题? 高手是不是对简单的问题不屑一顾? 数据的导入,导出问题??? 请问如何将.mdb,.dbf格式文件导入Oracle数据库?用jsp语言实现 为什么我配置WEB.XML 的过滤器 就报404错误 不配置过滤器就不报错? 菜鸟求教: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();
}
}
throws java.lang.Exception { XzqlActionForm xzqlActionForm = (XzqlActionForm)form;
Xzql xzql = new Xzql();
XzqlDao xzqlDao = new XzqlDao();
CharConvert charConvert = new CharConvert();
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String filename = request.getParameter("outflowimg");
File file = new File(filename);
FileInputStream fis = new FileInputStream(file);
int len = (int)file.length();
xzqlDao.insertDocument(xzql,fis,len);
ArrayList arrayList = (ArrayList)xzqlDao.getXzqlList();
request.setAttribute("arrayList", arrayList);
return mapping.findForward("xzqlList");
}String filename = request.getParameter("outflowimg");
从页面中获取的input 框的值,filename怎么为空啊
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");
} } }