⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uploadeditoracle.jsp

📁 电子签章编译文件
💻 JSP
字号:
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page language="java" import="java.sql.*,java.util.*,com.jspsmart.upload.*"%>
<%@ page import="oracle.sql.BLOB" %>
<%@ page import="oracle.jdbc.*" %>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
//变量定义
public String DBDriver = "oracle.jdbc.driver.OracleDriver"; 

	//这儿需要修改成您的数据库连接信息
public String ConnStr = "jdbc:oracle:thin:@10.216.0.2:1521:ORCL","dms","dms"; 
public Connection conn = null; 
public Statement stmt = null;
public ResultSet rs = null; 

public String docid = "";
public String filename = "";
public Integer filesize = 0;
public Integer iCurDocID = 0;

//实用函数定义
pbulic void initConn()
{
	try 
	{ 
		//加载数据库驱动程序 
		Class.forName(DBDriver); 
	} 
	catch(java.lang.ClassNotFoundException e)
	{ 
		System.err.println("ClassNotFoundException: " + e.getMessage()); 
	}
		
	//与DBMS建立连接 
	try
	{ 
		conn = DriverManager.getConnection(ConnStr); 
		stmt = conn.createStatement();			
	} 
	catch(SQLException ex)
	{ 
		System.err.println("SQLException: " + ex.getMessage()); 
	}  
	conn.setAutoCommit(false);//设置自己提交,以提高性能。
}
public void closeConn()
{
	stmt.close();
	conn.close();
}
public void SaveFileToBlob(String filename,oracle.sql.BLOB blobField,int fileSize) throws IOException
{
	try
	{
		java.io.File file=new java.io.File(fileName);
		java.io.InputStream inStream=new java.io.FileInputStream(file);
		byte[] bytes = new byte[fileSize];
		OutputStream outstream= blobField.getBinaryOutputStream();
		inStream.read(bytes);
 		outstream.write(bytes);
 		outstream.flush();
 		outstream.close();
		inStream.close();
	}
	catch(SQLException e)
	{
	
	}
}
public byte[] ReadBytesFromBlob(oracle.sql.BLOB blobField,int iSize) throws IOException
{
	try
	{
		byte[] bytes = new byte[iSize];
		InputStream instream = blobField.getBinaryStream();
		instream.read(bytes,0,iSize);
		instream.close();
		return bytes;
	}
	catch(SQLException e)
	{
	
	}
}
public int GetCurDocID(String myTableName,String myFieldName)
{
	int myResult=0;
	String sqlStr ="";
	sqlStr = "select max("+myFieldName+")+1 as MaxID from " + myTableName;
	try
	{
		ResultSet result = stmt.ExecuteQuery(sqlStr);
		if (result.next())
		{
	 		myResult = result.getInt("MaxID");
		}
		result.close();
	}
	catch(Exception e)
	{
		System.out.println(e.toString());
	}
	
	return (myResult);
}
%>
<%
	// Initialization
 	mySmartUpload.initialize(pageContext);
	// Upload
	mySmartUpload.upload();
	
	//取消注释以保存文件
	//mySmartUpload.save("/jsp/jspdemo/upload");
	
	//初始化连接
	initConn();
	
	com.jspsmart.upload.File myFile = null;
	
	docid = mySmartUpload.getRequest().getParameter("docid");
	System.out.println("docid="+docid);	
	
	for (int i=0;i<mySmartUpload.getFiles().getCount();i++)
	{
		myFile = mySmartUpload.getFiles().getFile(i);
		//debug only
		System.out.println("File=" + myFile.getFileName());  		
  		//处理数据及文件
  		if (!myFile.isMissing())
	 	{	 		
	 		filename = myFile.getFileName();
	 		filesize = myFile.getSize();	 		 		
	 		if(myFile.getFieldName().equalsIgnoreCase("EDITFILE") )	 //正文文件
	 		{
	 			//注释掉可用于调试
	 			//System.out.println("处理正文文件"); 
				//System.out.println("filename="+filename);
				//System.out.println("filesize="+filesize);
				//System.out.println("myFile.getFieldName()="+myFile.getFieldName());			
		 			
		 		try
				{
		 			if ( (docid == null)||(docid.length() == 0) ) // new doc
		 			{
		 				iCurDocID = GetCurDocID("MyUploadTable","id");
						String strSql="insert into MyUploadTable(id,filename,filesize,filedata)"
					+" values("+iCurDocID+",'"+filename+"'," +filesize+",empty_blob()")";
						stmt.execute(strSql);
					}									
		 			else // edit doc
		 			{
		 				iCurDocID = Integer.parseInt(docid);
		 			}
		 			rs = stmt.executeQuery("select filedata from MyUploadTable where id="+
		 				iCurDocID.toString()+" for update "); 
		 			if (rs.next())
		 			{
		 				//保存文件
		 				myFile.saveAs(fileName,mySmartUpload.SAVE_PHYSICAL);
						oracle.sql.BLOB blobField = ((oracle.jdbc.OracleResultSet)rs).getBLOB("filedata");
						//写入数据库
						SaveFileToBlob(fileName,blobField,filesize);
						stmt.execute("commit");
		 			}		 						
		 			out.println("保存成功!<br>");
		 			out.println("在线编辑的文件: " + filename + "<br>");
					out.println("大小: " + filesize + " bytes<br>");
		 		}
		 		catch(Exception e)
				{
					out.println("发生错误: " + e.toString());				
				}				
			}
			else //附件文件
			{
				try
				{
					System.out.println("处理附件文件");
					System.out.println("filename="+filename);
					System.out.println("filesize="+filesize);
					System.out.println("myFile.getFieldName()="+myFile.getFieldName());
					out.println("其他的文件: " + filename + "<br>");
					out.println("大小: " + filesize + " bytes<br>");
		 		}
		 		catch(Exception e)
				{
					out.println("发生错误: " + e.toString());				
				}			
			}					
	 	}  // end if (!myFile.isMissing())
	}// end for 
	closeConn();
%>

		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -