文档章节

SSH 网站制作之文件上传

ForingY
 ForingY
发布于 2016/02/29 10:50
字数 423
阅读 50
收藏 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
nginx自动跟新ssl证书。

1.首先安装nginx。 2.自动获取ssl证书是通过linux的ssh服务实现,首先确保ssh服务和ngxin服务正常。然后添加两个配置文件。 添加default server { listen 80; servername ; location /.well-...

青黑
04/14
0
0
10个对iPad开发者有帮助的工具

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

老枪
2011/05/10
2.4K
2

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
3
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部