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

求-----上传和下载(显示)的源代码

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

    本文导语:  我不想要JspSmartUpLoad。 而是想写一个让自己能够明白它的过程的jsp+javaBean结构的组件! 我想上传到服务器的同时,也把文件的存放路径存到数据库中(sql 2000),下载(显示)的时候先从数据库中取出存放的路径,...

我不想要JspSmartUpLoad。
而是想写一个让自己能够明白它的过程的jsp+javaBean结构的组件!

我想上传到服务器的同时,也把文件的存放路径存到数据库中(sql 2000),下载(显示)的时候先从数据库中取出存放的路径,然后再根据路径显示该文件!

谁有源代码(最好是真正测试通过的,有详细的注释最好!)。
给我一份吧!我快快疯了!!!!!!!!!!!!!!!
可以发到我的邮箱:非常非常感谢!!
E_mail: asp88@163.net

|
用JavaBean实现文件上载

请求分析 
  要实现文件上载,我们必须先了解上载文件的HTTP请求。下面这个简单的应用示范了如何上载文件以及把HTTP请求的原始数据写入文件。用文本编辑器查看该文件即可了解请求的格式,在此基础上我们就可以提取出上载文件的名字、文件内容以及原本混合在一起的其他信息。 
  这个简单的应用是开发真正文件上载JavaBean的准备工作。它由三个文件构成:HTML文件main.html,JSP页面Jsp1.jsp,JavaBean文件SimpleBean.java。 
  main.html提供一个表单,用户从这里选择文件并把文件上载到服务器。main.html的代码如下: 
 
 
文件上载 
 
 
 
作者:  
 
公司:  
 
选择要上载的文件  
 
 
 
 
 
  可以看到,标记有一个enctype属性,属性值是"MULTIPART/FORM-DATA"。包括提交按钮在内,表单里面共有4个输入元素。前面两个输入元素是普通的text元素,即author和company。第三个输入元素的type属性是file,这个输入元素就是用来选择文件的元素。 
  表单的action属性值是Jsp1.jsp,这意味着请求(包括上载的文件)将发送给Jsp1.jsp文件。Jsp1.jsp简单地调用名为SimpleBean的JavaBean。 
 
 
  下面是SimpleBean的实现代码: 
import java.io.*; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.ServletInputStream; 
  
public class FileUploadBean { 
  
public void doUpload(HttpServletRequest request) throws 
IOException { 
PrintWriter pw = new PrintWriter( 
new BufferedWriter(new FileWriter("Demo.out"))); 
ServletInputStream in = request.getInputStream(); 
  
int i = in.read(); 
while (i != -1) { 
pw.print((char) i); 
i = in.read(); 

pw.close(); 


这个JavaBean把HttpServletRequest对象的表单原始数据写入Demo.out文件。应用的用户界面由main.html文件提供,如下图所示。 
 我们选择上载的文件是abisco.html。选择上载HTML文件是为了便于观察上载后的格式,因为HTML文件本质上是文本文件,我们可以方便地浏览其内容。abisco.html文件的内容如下: 
 
 
Abisco 
 
 
  点击“上载”按钮之后,表单就发送给了Jsp1.jsp文件,一起发送的还有abisco.html文件。Jsp1.jsp文件不会向浏览器发送任何应答内容,但它会生成一个Demo.out文件。 
  打开Demo.out文件,我们可以看到如下内容: 
-----------------------------7d15340138 
Content-Disposition: form-data; name="Author" 
  
A. Christie 
-----------------------------7d15340138 
Content-Disposition: form-data; name="Company" 
  
Abisco 
-----------------------------7d15340138 
Content-Disposition: form-data; name="Filename"; filename="C:123dataabisco.html" 
Content-Type: text/html 
  
 
 
Abisco 
 
 
-----------------------------7d15340138-- 
  可以看到,HTTP请求体内包含了所有的表单输入,包括上载的文件。这些输入数据的分隔由一个分隔符实现。分隔符由一系列的“-”字符和一个随机数字构成。在上面的例子中,分隔符为“-----------------------------7d15340138”。最后一个分隔符结束请求体,这个分隔符的后面多出两个“-”符号。 
  对于非文件类型的输入数据,分隔符后面跟着下面这行内容:Content-Disposition: form-data; name=inputName。其中inputName是表单元素的名字。例如:Content-Disposition: form-data; name="Author"。在这行内容的后面,紧跟着两个连续的回车换行符和表单元素值。 
  而对于文件型输入域,分隔符的后面有两行内容。第一行内容包含输入元素的名字以及上载文件在客户端的完整路径,如上例中这行内容是“Content-Disposition: form-data; name="Filename"; filename="C:123dataabisco.html"”。这行内容指出文件输入元素的名字是filename,文件的路径是“C:123dataabisco.html”。注意Windows浏览器会设置文件路径,而Unix/Linux以及Mac浏览器只发送文件名字。 
  第二行包含了文件的内容类型,因此它的具体内容和上载的文件有关。本例中第二行的内容是“Content-Type: text/html”。 
  和非文件输入元素一样,文件内容在两个连续的回车换行符之后正式开始。 

|
§http://www-900.ibm.com/developerWorks/java/fileup/index.shtml

    
 
 

您可能感兴趣的文章:

  • 哭求在linux下用c语言编写的ftp上传文件的源代码!
  • 求上传和下载的JSP源代码,高分相送,最好没有bean的
  • 请问JSP里面怎样实现上传WORD和EXCEL文件,上传之后如何在IE里面调用显示!!!
  • 用SmartUpload类上传文件有大小限制吗??或者ENCTYPE='multipart/form-data'的form对于上传文件大小有限制??为什么大于1M的文件一上传就显示找不到页面啊!!
  • 上传文件显示问题???
  • smart upload 中哪个东西可以读出上传文件的名字并显示?
  • 请问为什么我在页面上加的上传的file不显示?请看代码,
  • 急,为什么我上传的文件不能在浏览器里正常显示
  • 各位兄弟帮忙,cut-ftp连接hp-unix,连接上了,但是unix上的文件不能显示,还能上传文件
  • jsp中实现上传图片即时显示效果功能
  • 求文件上传/下载/显示的解决方法
  • asp.net上传execl文件后,在页面上加载显示(示例代码)
  • 如何上传EXCEL文件?以及在页面中显示EXCEL文件?
  • 利用jsp+Extjs实现动态显示文件上传进度
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • ftp 上传中的文件和上传完的文件 有什么区别
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • FTP上传的时候速度慢慢跌到0,然后不能上传
  • 文件上传组件SWFUpload 介绍
  • 100分求一个上传图片的bean,要求上传后能改变文件名称
  • http协议介绍,文件上传分析及程序举例
  • linux ftp服务器端如何修改文件上传数目与上传字节数的限制?
  • ftp协议介绍及ftp常用的上传下载等操作命令使用方法
  • 为什么我上传文件的时候,如果遇到文件名是中文的,虽然可以上传,但不可以下载,怎么解决?
  • Jquery uploadify图片上传插件无法上传的解决方法
  • 我要做一个论坛,还要能做软件的上传和下载,文件的上传和下载,要求yizi给与帮助!!!
  • 用SmartUpload上传文件时,最大能支持多大的文件上传?
  • 高分相送,用jspsmartupload上传文件,在webshpere3。5环境里面很好用,但是在4。0里面就只能上传不超过7k的东东了,怎么解决这个问题,
  • 在程序里调用ftp批处理(sh)上传文件,如何判断文件已成功上传
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • C#判断上传文件是否是图片以防止木马上传的方法
  • apache+php上传大文件以上传100M为例
  • PHP大文件上传问题解析 php大文件上传配置参考


  • 站内导航:


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

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

    浙ICP备11055608号-3