文档章节

SSH 网站制作之文件上传

ForingY
 ForingY
发布于 2016/02/29 10:50
字数 423
阅读 48
收藏 2

最近学习用SSH做网页,遇到了文件上传的一些知识,下面就总结总结。

1.下面是一个文件上传的JSP页面

  其中,表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.

  这个属性很重要,当初就是因为没有写这个属性,找了好久原因呀。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head></head>
  <body>
      <form action="fileupload.do" method="post" enctype="multipart/form-data">
           文件上传:<input type="file" name="file_name">
           <input type="submit"  style="margin-left:0px"  value="上传"/>
      </form>
  </body>
</html>

2.SSH框架中Form用来接收JSP的参数

  在Form中使用要使用FormFile类来接收传来的参数。

public class FileUpLoad_Form extends ActionForm{
    private FormFile file_name;
    private static final long serialVersionUID = 1L;
    
   //省略具体的getXXX和setXXX方法                
    getXXX()
    setXXX()
}

3.SSH框架中Action用来处理文件上传

public class FileUpLoad_Action extends Action{
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        
        FileUpLoad_Form tmp = (FileUpLoad_Form) form;
      //获取具体的文件名称
        String fileName=tmp.getFile_name().getFileName();
      //文件上传后的保存路径(我的程序中保存在F盘的FileUpLoad文件夹下)
        File outFile=new File("F:\\FileUpLoad"+File.separator+fileName);
      try{
       //获取传来文件的输入流(读取)
            InputStream input=tmp.getFile_name().getInputStream();
       //建立输出流(写入)
            OutputStream output=new FileOutputStream(outFile);
            byte[] data=new byte[1024];
            while((input.read(data,0,1024))!=-1){
                output.write(data);
            }
            output.close();
        }
        catch(Exception e){
        }
        return null;
    }
}

总结:
  利用以上三步的源代码,结合基本的SSH中JSP文件到Form,Action的配置就可以实现文件的上传功能。

© 著作权归作者所有

共有 人打赏支持
ForingY
粉丝 23
博文 272
码字总数 156129
作品 0
杭州
程序员
OpenStack镜像管理

OpenStack镜像管理 一、简介 很多源都有为OpenStack已经编译好的各种镜像了,您可以直接下载并通过使用这些镜像来熟悉OpenStack。 不过如果是为生产环境进行部署的话,您一定需要构建含有定制...

CdTech
2014/08/26
0
0
hexo——轻量、简易、高逼格的博客

背景 写blog虽然经历了N多不同时代的产品,恒久不变的始终是自己无人问津的网站。虽然没几个人看,还是隔断时间就要折腾一下。从最开始的wordpress,到tale,到现在的hexo,网站变得越来越简...

IT米粉
09/11
0
0
Windows下Git命令行基本使用

一、准备工作 (1)在 https://github.com 网站上注册一个账号并设置用户名、密码,新建一个repository (2)在网站 http://msysgit.github.io/ 上下载git,并安装 二、设置SSH 1、首先在本地...

quiet_girl
2017/10/26
0
0
10个对iPad开发者有帮助的工具

下面给大家分享的是10款对iPad开发者很有帮助的工具。如果你在做iPad开发,那么这些工具或资源,将有助于你。 1. iPad Dev Center 文档中心和SDK。这里有编程指南、案例代码,以及SDK4. 2. ...

老枪
2011/05/10
2.4K
2
网站提示有风险?上海网站制作给你解决方案!

小编近日,每天都在查看我们上海网站制作公司、上海网站制作、网站制作等关键词排名的时候,看到有的网址后面带有“风险”二字,这是怎么回事呢?发现自己网站带有“风险”二字站长要怎么去解...

desingse
02/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20180925 df与du命令、fdisk磁盘分区

df 命令 disk filesystem的缩写,查看已挂载磁盘的总容量、使用容量、剩余容量信息。 [root@centos01 ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/sda3 27...

野雪球
18分钟前
0
0
Shell编程(expect同步文件、指定host和同步文件、构建文件分发系统、批量执行命令)

expect脚本同步文件 需求:自动同步文件 实验准备: A机器:192.168.248.130 B机器:192.168.248.129 实现: 1.A机器编写4.expect脚本文件,内容如下所示: #!/usr/bin/expectset passwd "...

蛋黄_Yolks
44分钟前
2
0
ppwjs之bootstrap颜色:背景颜色

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
45分钟前
1
0
Ubuntu与 Fedora之对比

大家好。今天我将重点介绍两个流行的Linux发行版之间的一些特性和差异; Ubuntu 18.04和Fedora 28。它们都有自己的包管理; Ubuntu使用DEB,而Fedora使用RPM,但它们都具有相同的桌面环境(GNO...

linuxprobe16
48分钟前
2
0
线性代数入门

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了...

牛奋Debug
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部