[JavaWeb基础] 009.Struts2 上传文件

在web开发中,我们经常遇到要把文件上传下载的功能,这篇文章旨在指导大家完成文件上传功能

1.首先我们需要一个上传文件页面

<!--在进行文件上传时,表单提交方式一定要是post的方式,

      因为文件上传时二进制文件可能会很大,还有就是enctype属性,

      这个属性一定要写成multipart/form-data,

     不然就会以二进制文本上传到服务器端

--> 

<form action="fileUpload.action" method="post" enctype="multipart/form-data">

	用户名: <input type="text" name="username"><br><br>

        文件:    <input type="file" name="file"><br><br>

	           <input type="submit" value="提交">

</form>

 2.然后我们要配置Struts2文件

<action name="fileUpload" class="com.babybus.sdteam.action.FileUploadAction">  

    <result name="success">/Success.jsp</result>     

</action> 

 3.最后我们要有一个Action类把上传的文件转存到服务器

    public String execute() throws Exception

    {

    	// 设置要上传的文件夹目录

        String root = ServletActionContext.getServletContext().getRealPath("/upload");

        // 根据上传的文件,创建输入流

        InputStream is = new FileInputStream(file);

        // 输出文件夹

        File outfloder = new File(root);

        // 输出文件

        File outfile   = new File(root, fileFileName);

        // 目录不存在创建目录

        if(!outfloder.exists()){

        	outfloder.mkdirs();

        }

        // 文件不存在创建文件

        if(!outfile.exists()){

        	outfile.createNewFile();

        }

        // 创建输出流

        OutputStream os = new FileOutputStream(outfile);

        

        // 接受数据用的临时字节数组

        byte[] buffer = new byte[500];

        int length = 0;

        // 遍历把内容写到输出文件中

        while(-1 != (length = is.read(buffer, 0, buffer.length)))

        {

            os.write(buffer);

        }

        // 关闭输出流,关闭输入流

        os.flush();

        os.close();

        is.close();

        // 返回结果跳转标识

        return SUCCESS;

    }

 4.通过以上几步,我们就可以简单的实现了文件上传功能。

 

 

结语

  • 受益,掌握了Spring的初级应用

 

 [JavaWeb基础] 009.Struts2 上传文件

本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 

转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4678977.html

 

你可能感兴趣的:(struts2)