在做上传图片时需要用到异步上传值服务器,当时选用了ajax的ajaxfileupload可以上传。
这里写下踩过的坑
1:使用$.ajaxFileUpload({});
函数,网页报错,提示没有这个函数。
解决:导入ajaxfileupload.js文件。简单
2:上传成功了没有执行回调,即$.ajaxFileUpload({
url:”, //你处理上传文件的服务端
type: ‘POST’,
fileElementId:’file’,#文件在html中的id
dataType: ‘json’,
data:{需要上传的数据},#可以省略
success: function(data) {
},
failure: function(data) {
}
});中success函数。上网查,说是需要修改ajaxfileupload.js的源代码。好吧试试
在uploadHttpData: function( r, type ) {
var data = !type;
data = type == “xml” || data ? r.responseXML : r.responseText;
if ( type == “json” )
eval( “data = ” + data );
},
看eval函数代码
function eval(s){return new Object();};
什么都没有返回,注释掉,网上说换成这个
if ( type == "json" ) { data = data.replace("","").replace("","");}
这个data.replace("","").replace("","");replace是因为文件上传的话返回的json字符串会带有开头的一串字符,但是我没有得到过哦。所以可以这样写:if ( type == "json" ) { data = data;}这样就可以执行回调函数了。3:上传的文件大于2M报错,提示文件太大。哎呀,现在的图片那个不是2,3M的,矫情!
解决:在struts文件里加上这个。500M都可以了。哈哈(这里有很多种解决办法,可以上网搜索哦)
好了,结束手工!
附上ajaxfileuploa.js文件(修改后的)http://download.csdn.net/detail/u011575570/9241787另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:上传文件中使用ajaxfileupload.js碰到的问题-创新互联
链接分享:http://jkwzsj.com/article/cegiod.html