概述
项目有现成的框架,所有导入都有即有的函数完成,可偏偏有个系统布署之后导入excel就是失败,因为我的导入用的是ajaxFileUpload上传excel文件后直接解析导入,在本机试怎么都成功,服务器上系统应用日志显示应该是有导入成功的,排除了权限问题,一时摸不清头脑。
看失败提示ajaxFileUpload执行直接进入了error,于是把error的相关信息打印出来,
$.ajaxFileUpload({
url : url, // 用于文件上传的服务器端请求地址
secureuri : false, // 一般设置为false
fileElementId : importfilename, // 文件上传空间的id属性 <input type="file"
// id="file" name="file" />
dataType : 'json', // 返回值类型 一般设置为json
success : function(data, status) {
if (data.result == true || data.result == "true") {
alert("导入成功");
}
},
error : function(data, status, e)// 服务器响应失败处理函数
{
alert(data);
alert(status);
alert(e);
alert("导入失败!");
}
});
data显示出来是一个Object,status显示为error,e显示为"unexpected token <",这什么鬼?于是把data序列化打印出来
alert(JSON.stringify(data));
终于看到里面详细信息,我未截图,但从里面反应的信息可以看出,显示的是nginx文件大小超过限制,于是去网上查了一下,原来nginx上传文件大小默认限制为1M,修改为10M,问题解决。修改方法,添加:client_max_body_size 10M;如:
server {
listen
80;
server_name
localhost;
client_max_body_size 10M;
}
可以选择在http{ }中设置:client_max_body_size 20m;
也可以选择在server{ }中设置:client_max_body_size 20m;
还可以选择在location{ }中设置:client_max_body_size 20m;
三者到区别是:http{} 中控制着所有nginx收到的请求。而报文大小限制设置在server{}中,则控制该server收到的请求报文大小,同理,如果配置在location中,则报文大小限制,只对匹配了location 路由规则的请求生效。
重启nginx即可。
参考文档:
https://blog.csdn.net/longzhoufeng/article/details/79737549
https://blog.csdn.net/zhuchunyan_aijia/article/details/80744558
最后
以上就是俊逸过客为你收集整理的excel文件导入,因nginx上传文件大小限制导致的错误的全部内容,希望文章能够帮你解决excel文件导入,因nginx上传文件大小限制导致的错误所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复