当前页面: 开发资料首页 → JSP 专题 → jsp上传文件的问题(加急)
jsp上传文件的问题(加急)
摘要: jsp上传文件的问题(加急)
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*,java.io.File"%>
<head>
无标题文档<%
image.initialize(pageContext);
String ext="";
long file_size_max=4000000;
//设定上传限制
image.setMaxFileSize(4000000);
image.setTotalMaxFileSize(5000000);
image.setAllowedFilesList("jpg,gif");
image.setDeniedFilesList("");
image.upload();
String imageAddress="upload/";
com.jspsmart.upload.File imageFile = image.getFiles().getFile(0);
if(!imageFile.isMissing()){
String imageFileName=imageFile.getFileName();//取得上传的文件名
ext=imageFile.getFileExt();
int file_size=imageFile.getSize();//取得文件的大小
String saveAddress="";
if(file_size < file_size_max){
//更改文件名,取得当前上传时间的毫秒数值
Calendar calendar=Calendar.getInstance();
String filename=String.valueOf(calendar.getTimeInMillis());
//在服务器上保存的路径
saveAddress=request.getRealPath("/") + "upload//" + filename + "." + ext;
imageFile.saveAs(saveAddress,image.SAVE_PHYSICAL);
System.out.println(saveAddress);
//处理图片的大小
java.io.File file=new java.io.File(saveAddress);//读入刚才上传的文件
//存入库中
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@192.168.0.254:1521:carrydl";
String uid="personresource";
String pwd="123456";
Connection conn = DriverManager.getConnection(url,uid,pwd);
conn.setAutoCommit(false);
//取得员工的编号
String sql = "select max(p_id) from base_employee";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
String p_id = null;
while(rs.next()){
p_id = rs.getString(1);
}
rs = null;
//取得图片的路径
String in_sql = "update base_employee set p_photo=EMPTY_BLOB() where p_id=" + p_id;
ps = conn.prepareStatement(in_sql);
ps.executeUpdate();
String in_sql2 = "update base_employee set p_photo =? where p_id=" + p_id;
FileInputStream fis = new FileInputStream(file);
System.out.println(fis.available());
ps = conn.prepareStatement(in_sql2);
ps.setBinaryStream(1,fis,fis.available());
int i = ps.executeUpdate();
System.out.println(i);
out.print("照片已经成功上传!");
fis = null;
ps = null;
conn.close();
}
}
%>
</head>
不报错,但是在从Oracle中取用getBlob打印时为空,怎么回事呀,请高手指点
用jspsmart试