我是靠谱客的博主 俊逸过客,最近开发中收集的这篇文章主要介绍excel文件导入,因nginx上传文件大小限制导致的错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目有现成的框架,所有导入都有即有的函数完成,可偏偏有个系统布署之后导入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上传文件大小限制导致的错误所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部