首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

action中实现对批量资料上传的封装

2013-09-27 
action中实现对批量文件上传的封装如今,文件(尤其是图片)上传,在前后台的应用相当普遍,上传头像、共享资料

action中实现对批量文件上传的封装

     如今,文件(尤其是图片)上传,在前后台的应用相当普遍,上传头像、共享资料等已成为最基本应用。我们很希望通过一个万能的封装方法来实现一劳永逸的效果。

    接下来,就来为大家介绍具体实现。

    首先,我们需要一个struts框架下的项目工程,在webRoot目录下新建upload文件夹,用来存放上传文件

    然后,写一个简单的jsp,实现(批量)文件上传功能,这里注意:将所有上传文件框的name属性设为file,以便action接收

    之后,编写action,在action内首先要写入如下几个变量,及其get/set方法。

public String uploadImg() throws IOException {String str = null;// 得到工程保存图片的路径String root = ServletActionContext.getRequest().getRealPath("/upload");// 循环上传的文件for (int i = 0; i < file.size(); i++) {InputStream is = new FileInputStream(file.get(i));// 得到图片保存的位置(根据root来得到图片保存的路径在tomcat下的该工程里)File destFile = new File(root, this.getFileFileName().get(i));str = destFile.getName();// 把图片写入到上面设置的路径里OutputStream os = new FileOutputStream(destFile);byte[] buffer = new byte[400];int length = 0;while ((length = is.read(buffer)) > 0) {os.write(buffer, 0, length);}is.close();os.close();}return str;}

     OK,这个方法既实现了将文件保存到tomcat下的相应文件夹中,又将保存的文件名告诉了我们, "upload/" + uploadImg()   即是本工程下的路径。

     如果文件是某对象的一个属性,那么直接XXX.setXxx( "upload/" + uploadImg())  存于数据库


下一篇  介绍文件的转移  

           以前的文件上传只是存放于tomcat本项目下的文件夹中,接下来我们要实现本项目上传文件至其他项目的文件夹下,如商城后台如何将后台上架图片放到前台展示,欢迎关注


热点排行