IE uploadify上传图片后不显示,求高手!

nightrainljh 2014-10-30 04:03:26
用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; //这里不需要页面转向,所以返回空就可以了

}
...全文
482 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nightrainljh 2014-11-21
  • 打赏
  • 举报
回复
哎,别提了,公司电脑都用了明朝万达的加密系统,在好几台机器上IE都有这问题!这几天把网站部署到WINDOWS server 2008(没加密)的机架式服务器,一试没事了!坑啊!
nightrainljh 2014-11-01
  • 打赏
  • 举报
回复
试过了其他电脑了,一样,图片就是普通png图片!火狐可以IE不行,个人感觉是不是IE设置的问题,就是没找到!
Go 旅城通票 2014-10-31
  • 打赏
  • 举报
回复
图片有问题吧?。。或者电脑有问题? 找另外一台电脑测试看看

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧