打印本文 打印本文 关闭窗口 关闭窗口
在Oracle中存取BLOB对象实现文件的上传和下载
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2799  更新时间:2009/4/22 22:04:22  文章录入:mintao  责任编辑:mintao
  ins.close();

  con.commit();

  con.close();

 

 

 

3.  从JSP页面提交文件到数据库

 

 

 

(1)       提交页面的代码如下:

<form action="handle.jsp" enctype="multipart/form-data" method="post" >

<input type="hidden" name="id" value="103"/>

<input type="file"  name="fileToUpload">

<input type="submit"  value="Upload">

</form>

 

 

 

(2)       由于JSP没有提供文件上传的处理能力,只有使用第三方的开发包。网络上开源的包有很多,我们这里选择Apache Jakarta的FileUpload,在http://jakarta.apache.org/commons/fileupload/index.html 可以得到下载包和完整的API文档。法奥为adajspException

处理页面(handle.jsp)的代码如下

<%

boolean isMultipart = FileUpload.isMultipartContent(request);

    if (isMultipart) {

      // 建立一个新的Upload对象

      DiskFileUpload upload = new DiskFileUpload();

 

 

 

    // 设置上载文件的参数

    //upload.setSizeThreshold(yourMaxMemorySize);

    //upload.setSizeMax(yourMaxRequestSize);

    String rootPath = getServletConfig().getServletContext().getRealPath("/") ;

    upload.setRepositoryPath(rootPath+"\\uploads");

 

 

 

     // 分析request中的传来的文件流,返回Item的集合,

     // 轮询Items,如果不是表单域,就是一个文件对象。

      List items = upload.parseRequest(request);

      Iterator iter = items.iterator();

      while (iter.hasNext()) {

        FileItem item = (FileItem) iter.next();

        //如果是文件对象

if (!item.isFormField()) {

 

 

 

          //如果是文本文件,可以直接显示

          //out.println(item.getString());

 

 

 

          //将上载的文件写到服务器的\WEB-INF\webstart\下,文件名为test.txt

          //File uploadedFile = new File(rootPath+"\\uploads\\test.txt");

          //item.write(uploadedFile);

 

 

 

        //下面的代码是将文件入库(略):

        //注意输入流的获取

InputStream uploadedStream = item.getInputStream();

        }

        //否则是普通表单

else{

       

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口