文档章节

SSH 网站制作之文件上传

ForingY
 ForingY
发布于 2016/02/29 10:50
字数 423
阅读 46
收藏 2
点赞 1
评论 0

最近学习用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
10个对iPad开发者有帮助的工具

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

老枪
2011/05/10
2.4K
2
Windows下Git命令行基本使用

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

quiet_girl
2017/10/26
0
0
Docker镜像保存为文件及从本地文件导入镜像的方法

1、概述 我们制作好镜像后,有时需要将镜像复制到另一台服务器使用。 能达到以上目的有两种方式,一种是上传镜像到仓库中(本地或公共仓库),但是另一台服务器很肯能只是与当前服务器局域网...

三极行者
06/26
0
0
制作openstack-centos镜像

一、准备工作 我在计算节点上面制作镜像,计算节点为centos6.3 64位系统 1.安装底层支持包 yum groupinstall Virtualization "Virtualization Client" yum install libvirt 2.下载或从本地上...

CdTech
2014/08/26
0
0
trove 基于 centos7 制作 mysql5.5 镜像

本文档是手动制作mysql5.5的trove镜像 openstack版本为newton 1、创建基础虚拟机 登录openstack创建一台虚拟机,这台虚拟机用于制作trove镜像,虚拟机的根磁盘最终会上传到glance给trove使用...

757781091
2017/03/31
0
0
trove 基于 centos7 制作 mysql5.6 镜像

本文档是手动制作mysql5.6的trove镜像 openstack版本为newton 1、创建基础虚拟机 登录openstack创建一台虚拟机,这台虚拟机用于制作trove镜像,虚拟机的根磁盘最终会上传到glance给trove使用...

757781091
2017/03/31
0
0
网站提示有风险?上海网站制作给你解决方案!

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

desingse
02/26
0
0
cloudstack之 实例注入sshkey

本文cloudstack版本为4.61 一 制作模板 下载对应版本的源码包如本文的版本为4.61下载的为 http://mirrors.aliyun.com/apache/cloudstack/releases/4.6.1/apache-cloudstack-4.6.1-src.tar.b...

Firxiao
2015/12/10
373
0
如何构建OpenStack镜像

本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因。镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova boot时通过--adm...

云技术实践
01/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

sap netweaver developer studio安装svn插件

问题 我现在在Sap的IDE(netweaver developer studio)上面安装svn插件。 步骤 确定IDE使用的eclipse版本 Help→About SAP NetWeaver Developer Studio→Installation Details→Features→F...

亚林瓜子
7分钟前
0
0
Spring Cloud云服务架构 - commonservice-config配置服务搭建

1. 介绍 Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Enviro...

itcloud
8分钟前
1
0
大数据开发学习的内容介绍,成都大数据培训机构哪里好?

大数据开发培训已经成为了越来越多人的选择,大数据开发工程师也是各公司争相争夺的金领人才之一了,在当今科技发展非常迅速的社会里,越来越多人把职业规划投向了大数据开发。这里为大家整理...

加米谷大数据
12分钟前
2
0
函数

函数 函数是Python中最主要也是最重要的代码组织和复用手段。作为最重要的原则,如果你要重复使用相同或非常类似的代码,就需要写一个函数。通过给函数起一个名字,还可以提高代码的可读性。...

火力全開
14分钟前
0
0
gulp-webserverf启动服务,局域网无法访问

如题,gulp-server启动的服务,只能本机访问,局域网通过ip无法访问; 启动的其它项目,均可以访问成功; 网上资源,很多说什么防火墙之类的问题,都无果; 只需要给启动服务添加参数即可, ...

littleFaye
16分钟前
0
0
RabbitMQ实战:5种模式和示例

应用RabbitMQ的5种队列 一、简单队列 P:消息的生产者 C:消息的消费者 红色:队列 生产者实现思路: 创建连接工厂ConnectionFactory,设置服务地址127.0.0.1,端口号5672,设置用户名、密码...

spinachgit
17分钟前
0
0
mysql常见报错标号对应原因以及处理方法

mysql常见报错标号以及对应解决方法 报错标号 报错现象 解决方法 原因 1449 Cause: java.sql.SQLException: The user specified as a definer ('authplat_dev'@'%') does not exist 在控制台...

ChinaHYF
19分钟前
0
0
Java 监控系统技术选型

(1)操作系统监控 Sigar oshi (2)Tomcat监控 JMX 日志 (3)Oracle监控 日志 直连SQL查询 基于Druid连接池 (4)拓扑图 jtopo http://www.jtopo.com/demo/statictis.html...

cccyb
20分钟前
1
0
解决IDEA中moduel配置了maven依赖可是依然不能使用依赖中的类

POM.xml中明明配置了依赖,也开启了maven的 auto-import 下面的刷新maven也没用: 直到使用下面的解决办法才使依赖生效: IDEA打开右侧 maven projects 点击顶部的M图表(看下图) 出现如下对...

颖辉小居
21分钟前
0
0
Nginx proxy pass路由转发简单用法

一,在nginx中配置proxy_pass时的加不加/的问题要注意proxy_pass后的url最后的/当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走如果没有/,则会把匹配的...

binhu
21分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部