jsp文件上传下载
初学jsp网页制作,我用jspsmartupload上传文件到服务器上,怎么把上传文件的信息及存储路径存到数据库中!
我要做的是一个作业上传下载的功能,下载时希望关键字搜索下载,请前辈们帮帮忙,给予指导!
万分感谢!!!!!
------解决方案--------------------不知道你的上传是否成功,如果成功的话jspsmartupload.jar 中有一个类,可通过对象来获得上传文件的文件名,以及路径名,然后将该值存入数据库。
数据库字段要用字符串噢
参考代码: for(int i=0;i<ymaitak.getFiles().getCount(); i++)
{
File gao=ymaitak.getFiles().getFile(i);
if(!gao.isMissing())
{
gao.saveAs("C:/Users/User/tomcat/webapps/upload/"+gao.getFilePathName());
}
}
------解决方案--------------------给你举个Oracle 数据库的例子
上传功能你已实现,并能获得文件名和路径这个方法getFilePathName()可以得到,并在jsp中显示出来
<form action="AddfilenameServlet" method="post">
<input type="text" name="filename" value="对象名.getFilePathName()"/>
<input type="submit" name="b1" value="提交"/>
</form>
这时建立一个Servlet名字为AddfilenameServlet,存在两个默认方法
在doGet方法中写入doPost(request,response);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException,
IOException {
File fl=new File();//存文件属性的类,要先定义啊
request.setCharacterEncoding("utf-8");
String file=request.getParameter("filename");
fl.setFilename(file);//将得到的信息存入fl对象中
FileDao fd=new FileDao();
fd.方法名(fl);将fl对象传给Dao里面的方法
}
Dao里面的实现很重要,也就是要实现将值存入数据库中
public class FileDao{
public int addfile(File fl)
{
int sum=0;
String sql= "insert into 表名 values (?)";//这里我给你例子,该表名里只有一个字段,
Connection conn=null;
PreparedStatement stat=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:实例名","用户名","密码");
stat=conn.prepareStatement(sql);
stat.setString(1,fl.getFilename());
stat.executeUpdate();
}
catch(Exception e)//连接数据库要抛异常的
{
e.printStackTrace();
}
}
}
你试试吧,说的已经很细了,希望对你有所帮助。我的时间啊?呵呵