SSH 网站制作之文件上传

最近学习用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的配置就可以实现文件的上传功能。

 

 

时间: 2024-07-29 00:03:26

SSH 网站制作之文件上传的相关文章

利用ssh实现服务器文件上传下载_java

通过ssh实现服务器文件上传下载 写在前面的话 之前记录过一篇使用apache的FTP开源组件实现服务器文件上传下载的方法,但是后来发现在删除的时候会有些权限问题,导致无法删除服务器上的文件.虽然在Windows上使用FileZilla Server设置读写权限后没问题,但是在服务器端还是有些不好用. 因为自己需要实现资源管理功能,除了单文件的FastDFS存储之外,一些特定资源的存储还是打算暂时存放服务器上,项目组同事说后面不会专门在服务器上开FTP服务,于是改成了sftp方式进行操作. 这个

网站常见漏洞解析:文件上传漏洞

任意文件上传漏洞 文件上传漏洞(File Upload Attack)是由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过 Web 访问的目录上传任意PHP文件,并能够将这些文件传递给 PHP 解释器,就可以在远程服务器上执行任意PHP脚本. 一套web应用程序,一般都会提供文件上传的功能,方便来访者上传一些文件. 下面是一个简单的文件上传表单 <form action="upload.php" method="post&qu

文件上传功能,关闭网页后文件还能继续上传,再次打开网站的时候能显示文件的进度

问题描述 文件上传功能,关闭网页后文件还能继续上传,再次打开网站的时候能显示文件的进度 小弟,想开发一个b/s结构的文件上传功能,然后怎么能在关闭网页后文件还能继续上传 ,然后再次打开网站的时候能显示文件上传的进度,小弟先谢谢了! 解决方案 纯b/s肯定不行,浏览器关闭了谁去上传数据?只能是用activex去启动一个客户端程序,让它在后台上传文件. 解决方案二: 这个在B/S结构下是不能实现的,二楼的回答貌似是断点续传的实现,是你的想法? 建议你不要在这个想法上花心思了,没结果的, 冒昧问一下,

link环境下如何根据文件上传时间计算文件有效期,使用codefirst技术制作《网盘软件》

问题描述 link环境下如何根据文件上传时间计算文件有效期,使用codefirst技术制作<网盘软件> link环境下如何根据文件上传时间计算文件有效期,使用codefirst技术制作<网盘软件> 解决方案 你的有效期是固定的么? 可以用DateTime.Now.AddDays(7);,假设7天有效期. 解决方案二: 这个应该是在前台页面aspx中控制隐藏还是显示,或者在数据库中获得筛选好的文件列表给页面. 然后前台页面收到数据库,可以按照网格模式或者列表模式显示.

SSH框架网上商城项目第13战之Struts2文件上传功能_java

上一节我们做完了添加和更新商品的功能,这两个部分里有涉及到商品图片的上传,并没有详细解说.为此,这篇文章详细介绍一下Struts2实现文件上传的功能.1. 封装文件信息我们首先得有一个Model来封装文件的信息,这个Model里需要有三个属性:文件.文件类型和文件名.针对我们要传的图片,我们新建一个Model如下: public class FileImage { private File file; private String contentType; private String file

在ssh项目中,把一个word文件上传到数据库的blob中,如何读取出来

问题描述 在ssh项目中,把一个word文件上传到数据库的blob中,如何读取出来mysql中的blob只能存放图片吗?要是能存别的格式的文件的话,怎么打开啊? 问题补充:那怎么才能直接打开这个word文档呢 解决方案 问题补充:那怎么才能直接打开这个word文档呢 你读出来写成world文件啊···xx.doc ,应该这样可以吧·· BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("/xx.do

ssh文件上传的问题

问题描述 假设现在有一个学生信息录入的页面,包括姓名.性别.年龄--.头像,其他的字段都好解决,就是这个头像的问题不知道怎么弄?理论应该就是上传一张图片到服务器,同时保存这张图片的信息(大小.名称.在服务器中的路径.上传时间--)到"上传文件信息表",这张表还得有个字段存储的是这个学生的学生信息表的主键值,以便关联.我用的是SSH,我现在能做到的就是在 学生信息录入的页面 最下面弄个单选框(是否添加照片) , 如果选择的是 "是" 再点"确定"就

视频网站相关的视频解码和特大文件上传等问题

一. 大文件上传分析 需要解决的问题 1.解决客户端请求限制 web.config中的httpRuntime节的 maxRequestLength 参数的默认值为 4096 (4 MB).所以,默认情况下不能上传大于这个值的文件. 我们这里这要更改这个参数即可 2.服务器内存占用问题 利用HttpModule截断http请求.获取HttpWorkerRequest对象然后重新对客户端请求数据进行分块分析整理,这样的处理结果可以使客户端上传的大小不再受限,但是httpRuntime还是会抛出一个页

【SSH网上商城项目实战13】Struts2实现文件上传功能

版权声明:尊重博主原创文章,转载请注明出处哦~http://blog.csdn.net/eson_15/article/details/51366384 目录(?)[+]         上一节我们做完了添加和更新商品的功能,这两个部分里有涉及到商品图片的上传,并没有详细解说.为此,这篇文章详细介绍一下Struts2实现文件上传的功能. 1. 封装文件信息         我们首先得有一个Model来封装文件的信息,这个Model里需要有三个属性:文件.文件类型和文件名.针对我们要传的图片,我们