当前位置:  编程技术>java/j2ee

jsp实现文件上传下载的程序示例

    来源: 互联网  发布时间:2014-10-20

    本文导语:  一、文件上传上传文件是Web开发中经常要用到的功能:例如在基于B/S的人事信息管理系统中上传照片,在新闻发布系统中上传图片等等。。。。。要实现文件上传功能,就需要综合利用java中的文件输入和输出相关的类。在TCP/IP...

一、文件上传
上传文件是Web开发中经常要用到的功能:例如在基于B/S的人事信息管理系统中上传照片,在新闻发布系统中上传图片等等。。。。。要实现文件上传功能,就需要综合利用java中的文件输入和输出相关的类。
在TCP/IP中,最早出现的文件上传机制是FTP。它是将文件由客服端发送到服务器的标准机制,能够考虑到跨平台的文本和二进制格式文件。但是在jsp编程中不能使用FTP方法来上传文件,这是由jsp 运行机制所决定的。
下面是上传文件的jsp页面:

代码如下:


    请选择你要上传的文件:

   
 

对于文件上传表单处理其中method必须为post,也要增加类型enctype="multipart/form-data"。这样就可以把文件中的数据作为流式数据上传。当然无论是什么文件格式,均可以。。。
下面是servlet 处理程序:

代码如下:

//接收上传文件内容中临时文件的文件名
        String tempFileName = new String("tempFileName");
        //tempfile 对象指向临时文件
        File tempFile = new File("D:/"+tempFileName);
        //outputfile 文件输出流指向这个临时文件
        FileOutputStream outputStream = new FileOutputStream(tempFile);
        //得到客服端提交的所有数据
        InputStream fileSourcel = request.getInputStream();
        //将得到的客服端数据写入临时文件
        byte b[] = new byte[1000];
        int n ;
        while ((n=fileSourcel.read(b))!=-1){
            outputStream.write(b,0,n);
        }

        //关闭输出流和输入流
        outputStream.close();
        fileSourcel.close();

        //randomFile对象指向临时文件
        RandomAccessFile randomFile = new RandomAccessFile(tempFile,"r");
        //读取临时文件的第一行数据
        randomFile.readLine();
        //读取临时文件的第二行数据,这行数据中包含了文件的路径和文件名
        String filePath = randomFile.readLine();
        //得到文件名
        int position = filePath.lastIndexOf('\');
        CodeToString codeToString = new CodeToString();
        String filename = codeToString.codeString(filePath.substring(position,filePath.length()-1));
        //重新定位读取文件指针到文件头
        randomFile.seek(0);
        //得到第四行回车符的位置,这是上传文件数据的开始位置
        long  forthEnterPosition = 0;
        int forth = 1;
        while((n=randomFile.readByte())!=-1&&(forth=0)&&(j

    
 
 

您可能感兴趣的文章:

  • jsp文件上传下载的组件smartupload如何用,哪有给50分??
  • 请问封装好的jsp上传组件有哪些?在哪里下载?jspsmartupload除外
  • 求救,JSP中文件的上传、下载问题
  • 求上传和下载的JSP源代码,高分相送,最好没有bean的
  • jsp文件上传与下载实例代码
  • Jsp页面实现文件上传下载类代码第1/2页
  • JSP 获取Spring 注入对象示例
  • jsp页面获取服务器时间的简单调用示例
  • JSP父页面传参数到子页面及接收示例
  • JSP代码实现 金字塔(倒置)示例
  • jsp与sql语句的混合使用示例
  • jsp传值中文乱码问题解决方法示例介绍
  • JSP页面的动态包含和静态包含示例及介绍
  • JSP中使用JDBC访问SQL Server 2008数据库示例
  • jsp中定义和使用方法示例介绍
  • jsp 文件下载示例代码
  • jsp页面间传中文参数示例(页面传参数编码)
  • jsp自定义标签之ifelse与遍历自定义标签示例
  • jsp和asp.net共享session值示例代码
  • 用jsp页面生成随机的验证数字码示例
  • jsp读取大对象CLOB并生成xml文件示例
  • jsp使用cookie存储中文示例分享
  • jsp form表单方法示例
  • java和jsp中的request使用示例
  • jquery easyui 结合jsp简单展现table数据示例
  • JSP和JSTL获取服务器参数示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问JSP里面怎样实现上传WORD和EXCEL文件,上传之后如何在IE里面调用显示!!!
  • 需要JSP上传程序
  • 有关jsp上传服务器的问题,请教各位高手(一定给分!!!!!!!!)
  • JSP怎么上传文档到服务器以及如何删除?
  • 关于Jsp文件上传的问题
  • 用jsp做的网站怎么解决用户个人相片上传的问题?
  • 请教:怎么用JSP把图片上传到服务器SQL Server数据库?
  • 在JSP中实现文件上传的问题。
  • JSP文件做好后如何上传?
  • 如何用jsp实现文件上传?
  • 讨教:用jsp在linux下怎么做文件上传?
  • jsp文件上传smartupload到oracle数据库中没有longblob的数据类型如何处理的?
  • JSp的mySmartUpload组件上传文件后能不能取到客户机的地址?多谢 急
  • jsp种怎样获得上传文件的文件名?
  • 90分请教!为什么我写的JSP在本地测试正常,上传以后就不能用(提示资源不允许)
  • 请问那位高手能帮我解决在jsp中将本地文件上传到数据库服务器的一个字段中的问题
  • 老板催得急啊,各位好心人,帮帮忙吧如何在jsp中把word文档上传到oracle数据库
  • jsp中如何上传图片进数据库,并且读出来(快来啊,大兄们,笨苯,你在哪里呀,你在哪里:))
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢? iis7站长之家
  • 我想在jsp页面将一个form中的一个文本框author的值赋给servlet的一个全局变量x,要如何可以实现?注意因为现在要上传文件,所以不能在req
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3