多图片批量上传

来源:互联网 发布:淘宝宝商城 编辑:程序博客网 时间:2024/05/22 07:48

零.  前言


             网上多数图片批量上传代码老旧不全, 遂成次文, 以节省博友时间



一.  代码实例


前端代码(使用 HTML5 multiple属性来支持多图片批量上传):

<form action="" enctype='multipart/form-data' method="post">    <div class="form-item">        <label>上传图片</label>        <input type="file" value="选择图片" name="image[]" multiple>    </div></form>



后端处理代码:
// 获取前台传来的图片资源(这里用 getFiles() 方法大致表示, 因为这个跟所用 Controller 框架相关, 如SpringMVC 、 Struts等, 甚至可能是 Servlet 直接获取, 具体项目具体使用, 这里就不一一举例了)
 
FileItem[] files = getFiles("image[]");            List<String> pictureUrlList = new ArrayList<String>();            for (int index = 0; index < files.length; index++) {                try {                    byte[] bytes = IOUtils.toByteArray(files[index].getInputStream());                    String filename = files[index].getFileName();                    // 图片上传路径, 可能是独立的图片服务器, 也可能和应用程序放一起                    String uploadPath = “http://img.cdn.com/upload/image/"; String extension = FilenameUtils.getExtension(filename).toLowerCase(); // 自定义一个生成不重复文件名的函数 getFilename()                                        String filename = getFilename() + extension;                    // 上传                    File pathToSave = new File(uploadPath, filename);                    if (!pathToSave.getParentFile().exists()) {                        pathToSave.getParentFile().mkdirs();                    }                    FileOutputStream fos = new FileOutputStream(pathToSave);                    IOUtils.write(bytes, fos);                                   } catch (Exception e) {                                    }            }



2 0