多图片批量上传

零.  前言


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



一.  代码实例


前端代码(使用 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) {
                    
                }
            }



你可能感兴趣的:(文件上传,html5,图片上传,批量上传)