boa+cgi上传文件

从网上下的开源代码boa+cgi,移植到arm里做个在线升级,曾以为最难的flash擦写先搞定了,却卡在上传文件这块。问题是超过400K的文件不能上传,连.cgi文件也没有执行,或者执行却失败了(至少没有执行到.cgi的main函数第一句)。既然小文件能上传,那么可以判定不是代码的问题,何况代码是开源下载基本没做实质性的更改;内存也够了,还有20多兆空间,分区虽然还是稀里糊涂,但上传的过程不涉及flash分区。那么唯一的可能就是哪里没有配置好,
百度谷歌千百回,http://linsichengbest.blog.163.com/blog/static/1429445202012352547536/
这个比较具有代表性,就是boa默认上传文件大小为1M,但这里已经改为16M。
在/boa/defines.h里配置上传文件大小限制
#define SINGLE_POST_LIMIT_DEFAULT               1024 * 1024 *16/* 1 MB */

因为通过nfs手动复制升级包到/var/(/var/挂载内存下)下面是可以的,既然终点没有问题,那么肯定在“过程”中出错了,就是说这个升级包上传的过程中经过哪里,又回去看代码,发现在/boa/config.c中,确定上传过程路径:tempdir = "/tmp";升级包要经过"/tmp",检查文件系统发现"/tmp"挂在第八分区下,第八分区可用空间只有400K了,难怪上传文件的最大限制为400K。重新挂载/tmp/到内存中,这下子文件可达1M多,再试下2M、3M的文件都能上传,但超过4M又不行了,跟之前超过400K的情况一样,真是步步惊心。

这部分相关参考:
/etc/fstab文件详解
http://hi.baidu.com/jingzhongchen/blog/item/8e6f552dcead7ce98b139952.html

RamFS/TmpFS文件系统 
http://vicyliu1984.blog.163.com/blog/static/315412322010104113522202/

再次全面检查,实在检查不出来个所以然,然后就漫无目的地在文件系统里挨个浏览,突然发现boa是通过mount方式运行的因为之前为了方便调试,将app通过软链接到本地计算机中,boa是最后一个,尽然忘了改回。赶紧删除软链接,拷贝APP,重新烧写文件系统,重启。。。升级成功,现在最大能升级9M的文件,够用了,够用就好。

问题虽然解决了,但是还有些细节没搞清楚:
1、这里/var/和/tmp/都挂载内存中,但是两者大小都是内存可用空间,奇哉怪也;
2、当boa通过nfs软链接到pc端实体APP时,为何上传文件会有4M的大小限制,这个大小在哪里可以配置。

boa+cgi上传文件相关推荐

  1. CGI上传文件以及大小限制修改

    BOA+CGIC,发现用它那个测试程序上传文件时只能传1MB大小左右,后来搜索网络,发现是BOA搞的鬼,方法2种: 1.修改源代码的defines.h里面的宏SINGLE_POST_LIMIT_DEF ...

  2. C语言cgi解析上传文件的本地测试

    首先用浏览器提交提交一个multipart/form-data类型的数据包到本地服务器,随便用什么脚本写个接受数据包的程序,保存数据包到文件,数据包的格式大概就是这样: ------WebKitFor ...

  3. 上传文件到 Web 服务器

    为什么80%的码农都做不了架构师?>>>    最近做运营后台需要把数据挖掘系统导出的数据上传到 Web 服务器,再导入到 DB 中.前端实现文件上传时方法如下: <html& ...

  4. php 上传文件漏洞,【文件上传】PHP文件上传漏洞

    0x01 文件上传漏洞 文件上传漏洞顾名思义就是用户上传一个可执行的脚本文件,获得了执行服务器端命令的能力.通常,文件上传是getshell最常用.最直接的方式了.但是,文件上传本身是一个正常的业务需 ...

  5. 上传文件返回数据提示下载

    摘要:  最近项目中出现上传文件返回的json数据会被提示下载,只有在ie10+中才会出现这个问题.前端使用jQuery的插件ajaxForm提交表单,后台返回的数据格式为json.代码如下: 后端P ...

  6. servlet文件上传下载_Servlet上传文件和下载文件示例

    servlet文件上传下载 Java Web应用程序中的文件上载和下载以及常见任务. 由于最近我写了很多有关Java servlet的文章 ,因此我想提供一个使用servlet上传和下载文件的示例示例 ...

  7. Servlet上传文件和下载文件示例

    Java Web应用程序中的文件上载和下载以及常见任务. 由于最近我写了很多有关Java servlet的文章 ,因此我想提供一个使用servlet上传和下载文件的示例示例. 用例 我们的用例是提供一 ...

  8. 利用PUT方式上传文件的方法研究

    虽然没有POST方法使用广泛,但是PUT方法却是向服务器上传文件最有效率的方法.POST上传文件时,我们通常需要将所有的信息组合成 multipart 传送过去,然后服务器再解码这些信息,解码过程则必 ...

  9. Fckeditor 2.4.2 php任意上传文件漏洞

    1.漏洞描述     fckeditor/editor/filemanager/upload/php/upload.php <?php /* * FCKeditor - The text edi ...

最新文章

  1. 微软职位内部推荐-Senior Software Engineer_Azure
  2. 【组合数学】生成函数 ( 使用生成函数求解不定方程解个数示例 2 | 扩展到整数解 )
  3. 十一、MySQL视图学习笔记(详解)
  4. 2万字长文包教包会 JVM 内存结构
  5. linux 同一个ip 绑定两个不同的域名 访问两个不同的项目
  6. sql server重命名_在Linux上SQL Server中重命名逻辑和物理文件名
  7. 29muduo_net库源码分析(五)
  8. win10下Clion的安装与配置
  9. FPGA学习笔记-IP核-FIFO
  10. 单片机音频信号分析仪
  11. omnet++tictoc14案例解析
  12. 西安电子科技大学计算机学院保研政策,西安电子科技大学计算机学院(专业学位)计算机技术保研条件...
  13. 修改postgresql库表的owner
  14. FFmpeg入门详解之121:颜色空间转换RGB和YUV的原理与实战
  15. iptables设置映射通过外网端口代理ssh登录内网服务器
  16. 关于DP和HDMI和VGA和RS232这几种接口的实用性和功能性分析
  17. DIY自平衡车意外失去左腿后,小哥爆改假肢玩出了花,稚晖君:技术到内心都硬核...
  18. Caffe简明教程1:Caffe简介
  19. ESP32连接校园网,第一次接触网络通信,写一篇博客记录一下学习笔记。
  20. 文化课2021-2022游记

热门文章

  1. JVM之关于GC的扩展知识
  2. 保护热板法导热仪中计量加热器任意设定温度及其加热电功率的超高精度PID恒定控制
  3. Python深度学习一书中: 8.4代码VAE在tensorflow2.0错误‘lambda_1/random_normal/shape‘的解决方案
  4. ios 启动动画的设置(闪屏)
  5. python输出水果的个数_Python 水果统计
  6. USB转串口那些事儿—浅谈高速USB转串口
  7. 《选择》比努力更重要——C语言
  8. “知行-技术人的管理之路”书籍推荐
  9. 闲人闲谈PS之三十四——项目成本费用控制阈值
  10. mysql和PG查看表数据大小