当前位置:  技术问答>java相关

请问如何实现在servlet通过页面将文件传送到服务器?

    来源: 互联网  发布时间:2015-11-08

    本文导语:  请问如何将客户机器上的文件,通过web浏览器传送到服务器?就像在web页面的邮件服务那样,把本地机的文件传送到服务器? | 下面是一个上载的方法:   public void uploadFile(javax.servlet.http.Ht...

请问如何将客户机器上的文件,通过web浏览器传送到服务器?就像在web页面的邮件服务那样,把本地机的文件传送到服务器?

|
下面是一个上载的方法:
  public void uploadFile(javax.servlet.http.HttpServletRequest req) throws IOException,Exception {
     try {
        String contentType=req.getContentType();
        int contentLength=req.getContentLength();
        java.io.DataInputStream bis=new java.io.DataInputStream(req.getInputStream());
        int once = 0;
        int total = 0;
        byte[] buffer=new byte[contentLength];
        while ((total=0)) {
          once = bis.read(buffer,total,contentLength);
          total += once;
        }
        int boundaryStart=contentType.indexOf("boundary=");
        boundaryStart=boundaryStart+"boundary=".length();
        String boundary="--"+contentType.substring(boundaryStart);
int pos=getFormNameIndex(buffer,"filename="".getBytes(),1)+"filename="".length();
        int posEnd=getFormNameIndex(buffer,""".getBytes(),pos);
        String filename=new String(buffer,pos,posEnd-pos);
        pos=filename.lastIndexOf(".");
String filenames=System.currentTimeMillis()/1000+filename.substring(pos);
pos=getFormNameIndex(buffer,"Content-Type: ".getBytes(),1);
        pos=getFormNameIndex(buffer,"rn".getBytes(),pos+1)+4;
        int endpos=getFormNameIndex(buffer,boundary.getBytes(),pos+20);
        int len=endpos-pos;
        java.io.DataOutputStream bos= new java.io.DataOutputStream(new java.io.FileOutputStream(new java.io.File(filepath,filenames)));
        bos.write(buffer,pos,len);
        bis.close();
        bos.close();
     }catch(Exception exc) {
        throw new Exception("upload failed.");
     }finally{

     }
  }

|
用smartupload 那个bean.

|
http://school.itnow.com.cn/article/20011127/200111272695.shtml

|
http://www.jspsmart.com/

|
你留下email,我发给你。

    
 
 

您可能感兴趣的文章:

  • 请问linux下有没有像windows下的影音传送带一样的工具?
  • 在ACC变成中要使用发ftp传送文件,但文件名不确定,请问怎么样在程序的FTP中使用字符串变量???
  • 请问在JSP中如何实现http传送xml文档?
  • 请问什么叫背靠背传送?
  • 请问在LINUX下如何用C写传送目录及其目录下的所有文件
  • 请问如何能在网络传送中文信息??
  • 请问各位大虾,我在编译SERVLET时,总是找不到javax.servlet.*或者javax.servlet.http.*,需要怎么配一下。
  • 请问servlet和servlets是一回事吗?经常看到这两种不同的表述。谢谢!
  • Servlet高手急救:欲从servlet输出图形,请问linux环境下如何配置,web服务器为tomcat
  • 请问做jsp和servlet的朋友,有没有工具可以提供jsp,servlet单布编译执行的
  • 请问为什么我的servlet程序,在编译时总是会出现包javax.servlert和包javax.servlet.http不存在的错误,我在环境变量classpath种已经登记了servlet.jar的位置了。如何解决?
  • 请问用javac编译一般*.java能通过,但不能编译Servlet写的*.java.提示javax.servlet.http不存在。
  • 请问这是什么原因package javax.servlet does not exist import javax.servlet.*;,谢谢
  • 请问怎样在Tomcat中发布Servlet程序?谢谢
  • 请问Tomcat怎么配置servlet的运行环境?谢谢!!!
  • 简单问题,请问servlet在怎样的环境下运行?
  • 请问怎么设置JB6才能让它编写Servlet程序,并试运行?
  • 请问我为什么找不到javax.Servlet
  • 请问什么叫servlet?ejb?作什么用?
  • 请问可以在一个Servlet里使用多线程和SOCKET吗?
  • 请问:在servlet中如何新开一个页面?
  • 请问这是什么原因,如何解决,谢谢!package javax.servlet does not exist
  • 请问:javax.servlet.include.path_info什么时候会有值?
  • 请问servlet一般用于场合...?
  • 新手上路,高手多多提拔阿。请问servlet和JSP有什么区别
  • 请问如何从JSP返回到调用它的SERVLET里呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问通过纯jdbc能否联 sqlserver7.0,注意不是通过jdbc-odbc桥,如果能的话,driver在哪里下载?连接的语句怎么写?
  • 请问通过scjp认证要几级英语水平。
  • 请问通过什么来管理linux服务
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。 iis7站长之家
  • 请问如何通过命令来获得本机linux的ip地址?
  • 请问SuSe10下如何通过命令配置网卡IP/网关/DNS?
  • 请问如何用windows服务器通过网络来批量克隆linux系统?
  • 请问,如何通过Java调用ActiveX控件?
  • 请问已知进程的PID,通过什么函数可以得到进程的名字?
  • 请问怎么通过Socket发送一个int数值?急,谢谢!!
  • 我想在window2000下通过telnet访问linux,请问怎么办?
  • 请问XP可以通过 “虚拟光驱”加“VMware ”安装LINUX吗?
  • 请问用java通过pop3协议如何获取信件内容.
  • 请问, 怎样通过程序方式,获取到当前系统的CPU,内存等情况
  • 请问如何通过C对modem进行自动ppp拨号
  • 请问,怎样通过程序方式,获取AIX系统当前的CPU, 内存使用情况?
  • 在线等待--请问SCJP考试通过后,多久能收到证书?发言有分
  • 请问在redhat8.0装上qq时(通过http代理),怎么还是不能用啊?
  • 请问如何通过shell脚本判断本机是否已经连通某个主机。只有连通后才走下一步?
  • 请问 linux 是如何调用 alsa的控制接口的??是通过控制接口名字吗?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!


  • 站内导航:


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

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

    浙ICP备11055608号-3