IE uploadify上传图片后不显示,跪求各位大哥!

雷剑华 发布于 2014/10/30 16:09
阅读 843
收藏 0
 IE uploadify上传图片后不显示,求高手!


用windows-xp + tomcat6 + myeclipse8.6 写的基于struts的网站,有个上传图片功能,并在其他页面里
显示图片。
可是用IE(包括IE7,IE8)上传成功后,图片不显示,显示个X;但是我用火狐试了上传后,在火狐里能显示正常;
用IE上传后,在火狐里查看也不显示;


在IE里查看图片路径是对的,路径没问题(http://192.168.10.122:8088/XXXXX/uploads/20141030151339.png),就是不显示,只显示个红X,
奇怪的是我打开tomcat路径下C:\Tomcat 6.0\webapps\XXXXX\uploads,查看一下(幻灯片方式查看uploads下的上传的文件时,文件会闪烁下),
然后刷新下网页,IE里就正常显示图片了。
注:其中XXXXX是项目名称,uploads是上传图片后图片放置路径


以下是相关代码
//uploadfile.js文件
var   gloPictureName = "";
$(document).ready(function() {
    $("#uploadify").uploadify({
         'swf'       : '../../widget/uploadify/uploadify.swf', //是组件自带的flash,用于打开选取本地文件的按钮 
   'uploader'      : 'Ajax/RegisterService!uploadFile.action',//处理上传的路径,这里使用Struts2是XXX.action 
   'folder'        : 'uploads', //上传文件的目录
   'fileObjName'   : 'uploadify', //和input的name属性值保持一致就好,Struts2就能处理了
   'queueID'       : 'fileQueue', //文件选择后的容器ID
   'buttonText'    : '浏览文件', //按钮上的文字
   'displayData'   : 'speed', //有speed和percentage两种,一个显示速度,一个显示完成百分比 
        'debug' : false, //开启调试        
        'auto' : false, //是否自动上传        
        'successTimeout': 99999, //超时时间        
        'formData' : {}, //附带值          
        'overrideEvents': ['onDialogClose'],   //不执行默认的onSelect事件
    //  'buttonImage' : 'upbutton.gif', //浏览按钮的背景图片路径        
        'width' : '180', //浏览按钮的宽度        
        'height' : '32',   //浏览按钮的高度
        'fileTypeDesc' : '支持的格式:', //在浏览窗口底部的文件类型下拉菜单中显示的文本        
        'fileTypeExts' : '*.jpg;*.jpge;*.gif;*.png',//允许上传的文件后缀        
        'fileSizeLimit' : '3MB',   //上传文件的大小限制        
        'queueSizeLimit': 25, //上传数量
        'multi'         : true, //是否支持多文件上传
   'simUploadLimit': 8, //每次最大上传文件数
        
        
        //每次更新上载的文件的进展
        'onUploadProgress' : function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) {
        
        },
        //选择上传文件后调用
        'onSelect' : function(file) {
                  
        },
        //返回一个错误,选择文件的时候触发
        'onSelectError':function(file, errorCode, errorMsg){
            switch(errorCode) {
                case -100:
                    alert("上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
                    break;
                case -110:
                    alert("文件 ["+file.name+"] 大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
                    break;
                case -120:
                    alert("文件 ["+file.name+"] 大小异常!");
                    break;
                case -130:
                    alert("文件 ["+file.name+"] 类型不正确!");
                    break;
            }
        },
        //检测FLASH失败调用
        'onFallback':function(){
            alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
        },
        //上传到服务器,服务器返回相应信息到data里
        'onUploadSuccess':function(file, data, response){
        gloPictureName = data;
            alert("上传成功!");
        }
      });
});




//jsp代码
<tr>
<td class="name">上传图片:</td>
<td>
<div id="fileQueue" ></div>  
<input type="file" name="uploadify" id="uploadify" />
<p>  
<a href="javascript:jQuery('#uploadify').uploadify('upload')">开始上传</a>   
<a href="javascript:jQuery('#uploadify').uploadify('cancel')">取消所有上传</a>  
</p> 
</td>
</tr>




//后台action代码
public String uploadFile() throws Exception 
{
String extName = "";//扩展名
 
 String newFileName= "";//新文件名
 
 String nowTime = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());//当前时间
 
 String savePath = ServletActionContext.getRequest().getRealPath("");
 
 savePath = savePath +"/uploads/";
 HttpServletResponse response = ServletActionContext.getResponse();
 response.setCharacterEncoding("utf-8");
 
 //获取扩展名
 if(uploadifyFileName.lastIndexOf(".")>=0){
  extName = uploadifyFileName.substring(uploadifyFileName.lastIndexOf("."));
 }
 newFileName = nowTime+extName;
 
 boolean ret = uploadify.renameTo(new File(savePath+newFileName));  
 
 response.getWriter().print(newFileName);
 
 return null; //这里不需要页面转向,所以返回空就可以了


}
加载中
0
javatest
javatest
估计是IE版本不支持jsp 使用支持的版本 或者用其他页面技术
0
雷剑华
雷剑华
公司机器都加密了,后来在非加密机器上就没事了!
返回顶部
顶部