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

如何实现文件上传

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

    本文导语:  如何在Web页上实现文件上传 | give you a example split two parts public class UploadServlet extends HttpServlet  {   //default maximum allowable file size is 100k   static final int MAX_SIZE = 102400;   //instanc...

如何在Web页上实现文件上传

|
give you a example split two parts
public class UploadServlet extends HttpServlet 

 //default maximum allowable file size is 100k 
 static final int MAX_SIZE = 102400; 
 //instance variables to store root and success message 
 String rootPath, successMessage; 
 /** 
  * init method is called when servlet is initialized. 
  */ 
 public void init(ServletConfig config) throws ServletException 
 { 
  super.init(config); 
  //get path in which to save file 
  rootPath = config.getInitParameter("RootPath"); 
  if (rootPath == null) 
  { 
   rootPath = "/"; 
  } 
  /*Get message to show when upload is complete. Used only if 
   a success redirect page is not supplied.*/ 
  successMessage = config.getInitParameter("SuccessMessage"); 
  if (successMessage == null) 
  { 
   successMessage = "File upload complete!"; 
  } 
 } 
 /** 
  * doPost reads the uploaded data from the request and writes 
  * it to a file. 
  */ 
 public void doPost(HttpServletRequest request, 
  HttpServletResponse response) 
 { 
  ServletOutputStream out=null; 
  DataInputStream in=null; 
  FileOutputStream fileOut=null; 
  try 
  { 
   /*set content type of response and get handle to output 
    stream in case we are unable to redirect client*/ 
   response.setContentType("text/plain"); 
   out = response.getOutputStream(); 
  } 
  catch (IOException e) 
  { 
   //print error message to standard out 
   System.out.println("Error getting output stream."); 
   System.out.println("Error description: " + e); 
   return; 
  } 
  try 
  { 
   //get content type of client request 
   String contentType = request.getContentType(); 
   //make sure content type is multipart/form-data 
   if(contentType != null && contentType.indexOf( 
    "multipart/form-data") != -1) 
   { 
    //open input stream from client to capture upload file 
    in = new DataInputStream(request.getInputStream()); 
    //get length of content data 
    int formDataLength = request.getContentLength(); 
    //allocate a byte array to store content data 
    byte dataBytes[] = new byte[formDataLength]; 
    //read file into byte array 
    int bytesRead = 0; 
    int totalBytesRead = 0; 
    int sizeCheck = 0; 
    while (totalBytesRead  MAX_SIZE) 
     { 
      out.println("Sorry, file is too large to upload."); 
      return; 
     } 
     bytesRead = in.read(dataBytes, totalBytesRead, 
      formDataLength); 
     totalBytesRead += bytesRead; 
    } 
    //create string from byte array for easy manipulation 
    String file = new String(dataBytes); 
    //since byte array is stored in string, release memory 
    dataBytes = null; 
    /*get boundary value (boundary is a unique string that 
     separates content data)*/ 
    int lastIndex = contentType.lastIndexOf("="); 
    String boundary = contentType.substring(lastIndex+1, 
     contentType.length()); 
    //get Directory web variable from request 
    String directory=""; 
    if (file.indexOf("name="Directory"") > 0) 
    { 
     directory = file.substring( 
      file.indexOf("name="Directory"")); 
     //remove carriage return 
     directory = directory.substring( 
      directory.indexOf("n")+1); 
     //remove carriage return 
     directory = directory.substring( 
      directory.indexOf("n")+1); 

    
 
 

您可能感兴趣的文章:

  • 请问JSP里面怎样实现上传WORD和EXCEL文件,上传之后如何在IE里面调用显示!!!
  • 怎么实现文件上传呀?!
  • c编程实现ftp上传文件的问题
  • 脚本实现ftp上传文件的问题
  • java中怎么实现xml文件上传?
  • 如何实现图片上传、缩放并存放到数据库中
  • 不让用户选择文件,程序指定本地文件,Java可以实现上传到服务器吗?
  • 我用servlet实现文件上传,可我不知道怎么随意的得到服务器的路径。
  • 如何实现图片上传
  • 如何实现图片上传啊,而且我想把它记录在SQL SERVER中!!有空请帮我!!!
  • 用简单的代码来实现文件上传
  • 如何上传整个文件夹,jspSmartUpload可以实现吗?
  • 如何用jsp实现文件上传?
  • 怎么用脚本实现用scp命令将一个文件上传到另一台主机上
  • 使用jquery.upload.js实现异步上传示例代码
  • Linux下FTP如何实现自动上传文件到远程WINDOWS服务器上?
  • 基于C# winform实现图片上传功能的方法
  • 我现在做一个动态新闻管理系统,要把编辑好的网页上传到服务器指定的文件夹去,如何有好的实现?
  • Juery结合iframe实现无刷新上传图片的代码
  • PHP实现ftp上传文件示例
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • socket实现多文件并发传输,求助多线程实现问题?
  • linux内存文件系统ramfs实现原理
  • 我想用APPLET实现读取客户端的图片文件,该如何实现?
  • Linux内存文件系统(ramdisk)的三种实现方式
  • linux下如实现与window下的驱动器实现文件共享??
  • 如何在其他盘中实现对这个盘中所有文件和文件的8映射
  • php实现文件下载简单示例(代码实现文件下载)
  • 如何用Java实现二进制文件到文本文件的相互转化?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • interface 到底有什么用???实现接口,怎么实现??
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 怎么用Jsp实现在页面实现树型结构?
  • 通过javascript库JQuery实现页面跳转功能代码
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • php实现socket实现客户端和服务端数据通信源代码
  • 网站重定向用C语言实现iptables,ACL实现
  • HTML教程 iis7站长之家
  • 在linux下如何编程实现nslookup命令实现的IP地址和域名互相转换的功能?
  • boost unordered_map和std::list相结合的实现LRU算法
  • 求在freebsd+Squid下实现pc上网的透明代理的实现方法!给出具体配置方法的高分谢!
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • qt如何实现:操作键盘实现数据的滚动?
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • PING是用TCP,还是用UDP来实现的?或是采用其它协议实现的?
  • iphone cocos2d 精灵的动画效果(图片,纹理,帧)CCAnimation实现
  • ejb-ql只能 like '?%' 么?我想实现模糊查寻,想实现 like'%?%' 怎么办??
  • c语言判断某一年是否为闰年的各种实现程序代码
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • html<pre>标签自动换行实现方法
  • 编一个模拟shell实现的程序,怎么实现输入输出重定向?谢谢


  • 站内导航:


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

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

    浙ICP备11055608号-3