Java简单上传图片例子

来源:互联网 发布:中银淘宝卡注销 编辑:程序博客网 时间:2024/06/09 19:03
前台页面:
<!--注意enctype表明设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.-->
<form id="addform" method="post" enctype="multipart/form-data" action="${base}/action/addPhoPic">
<table border="0" class="perview" align="center">
        <a href="#" onClick="toaddpic()">上传至相册</a>
        <tr>
            <th>选择文件</th>
            <th width="50%">预览图</th>
        </tr>
        <tr>
            <td height="200"><input id="idFile" name="upload" type="file" /></td>
            <td align="center"><img id="idImg" /></td>
        </tr>
</table>
</form>
Java后台处理:
    //与前台页面空间name一致
    private File upload; 
    //反射,得到文件类型,文件名称
    private String uploadContentType; 
    private String uploadFileName; 
    public String doAddPhoPic(){
        //自己的PhotoService接口处理
        IPhotoService photoService=BeanFactory.getBean(BeanConstants.WB_PHOTO_SERVICE); 
        Photo photo=new Photo();
        //这里简单的demo没有要把名字规范,也没有对图片有剪切或缩小处理,所以就简单的把上传的图片以1,2,3命名
        int count=photoService.queryPhotoList().size(); 
        count++; 
        String file_path1=""; 
        String file_path2=""; 
        try {
            //上传至该项目所在本地目录                           
            file_path1=Constants.BASE_ROOT+"/fullsize"+"/"+count+".jpg"; 
            file_path2=Constants.BASE_ROOT+"/thumbs"+"/"+count+".jpg"; 
            photo.setPicName(photoService.queryPhotoList().size()+1+".jpg"); 
            photo.setPicUrl(file_path2); 
            photoService.insertPhoto(photo); 
            System.out.println("---"+file_path1); 
            System.out.println("---"+file_path2); 
            //对文件进行写操作
            FileOutputStream fos1=new FileOutputStream(file_path1); 
            FileOutputStream fos2=new FileOutputStream(file_path2);
            //对文件进行读操作
            FileInputStream fis=new FileInputStream(upload); 
            byte[] buffer=new byte[1024]; 
            int len=0; 
            //读入流,保存至byte数组
            while((len=fis.read(buffer))>0){ 
                fos1.write(buffer,0,len); 
                fos2.write(buffer,0,len); 
            } 
            fos1.close(); 
            fos2.close(); 
            fis.close(); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
        list=photoService.queryPhotoList(); 
        return SUCCESS; 
    }
原创粉丝点击