我是靠谱客的博主 饱满胡萝卜,最近开发中收集的这篇文章主要介绍struts2+ajax图片上传以及jsp页面显示,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

直接上代码:

上传要引入个ajaxfileupload.js 文件和jquery.js文件

JSP页面代码:

<input type="file" id="file" name="image" />
<input type="button" value="上传" οnclick="ajaxFileUpload();">

<div class="tabRow" id="img" style="height:200px;display:none;margin-left:110px">  
     <p>此div是用来图片上传成功后显示图片用的。。。</p>

</div>


ajaxFileUpload()方法:

function ajaxFileUpload()
    {
        $("#loading")
        .ajaxStart(function(){
            $(this).show();
        })//开始上传文件时显示一个图片
        .ajaxComplete(function(){
            $(this).hide();
        });//文件上传完成将图片隐藏起来
        
        $.ajaxFileUpload
        (
            {
                url:projectBasePath+"resource/sepcialcolumn!upload",
                secureuri:false,
                fileElementId:'file',//和input的id要一樣
                dataType: 'json',//返回值类型 
                success: function (data)
                {
                    if(data.result==0){
                    alert("上傳成功!");
                    $("#img").css("display","block");
                    $("#img").empty();
                    $("#img").append('<img style="width:70%;height:200px;" src="http://localhost:8080/macaumemorycms/uploads/banner/'+data.message+'" />');
                    }else{
                    alert(data.message);
                    }
                },
                error: function (data, status, e)
                {
                    alert(e);
                }
            }
        )
    }


Action代码:

public class UploadImageAction extends SuperAction{
    private static final long serialVersionUID = 1L;  
    private ServiceResult sResult;
    private File image; //上传的文件  
    private String imageFileName; //文件名称  
    private String imageContentType; //文件类型  

   GET和SET方法........

    public void upload(){  
        String realpath = ServletActionContext.getServletContext().getRealPath("/uploads/banner");  
        System.out.println("realpath: "+realpath);  
        if(image != null){  

    //获取当前时间的时间戳作为文件名,为了数据库更好的管理
            Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
            String[] contentType=imageContentType.split("/");
            imageFileName=sdf.format(date)+"."+contentType[1];
            File savefile = new File(new File(realpath), imageFileName);  
            if(savefile.getParentFile().exists()){  
                try {  
                    savefile.getParentFile().mkdirs();  
                    FileUtils.copyFile(image, savefile); 
                    SepcialColumnWithBLOBs sep=this.sepcialService.findById(id);
                    sep.setTopBannerUrl(imageFileName);
                    if(!sepcialService.update(sep)){
                    sResult.setResult(-2);
            sResult.setMessage("上傳失敗!");
                    }else{
                    sResult.setMessage(imageFileName);
                    }
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
        writeReturn(sResult); 
    }  
}


效果图:




最后

以上就是饱满胡萝卜为你收集整理的struts2+ajax图片上传以及jsp页面显示的全部内容,希望文章能够帮你解决struts2+ajax图片上传以及jsp页面显示所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部