Arduino ESP8266 SPIFFS文件系统的一些坑

By | 2018年6月30日

最近在做一个项目,使用bootstrap框架,随手引入了一些bootstrap-swith、bootstrap-clockpicker、bootstrap-colorpicker等组件,在本地把页面调试妥当之后准备上传到esp8266上,出现了一些警告,不过上传还算顺利

当访问页面的时候傻眼了,bootstrap.min.css和bootstrap.min.js出现404,通过onNotFound回掉访问文件也显示404,然后通过SPIFFS.exists查询文件发现文件不存在,基本就可以确定文件没有被上传,在更换了几个ESP8266FS无果之后,随手翻了一下警告以及上面的信息发现坑爹了

SPIFFS_write error(-10010): unknown error adding file!

Error for adding content from js

Error for adding content from css

等等信息,并且打包的文件列表也没有看到那些404的文件,然而ESP8266FS却无视了这些警告直接把不完整的文件打包并上传到esp8266上。在尝试解压和打包文件均失败之后,就跑去google了,SPIFFS果然队文件有一定的限制:

1、文件名不能超过31个(应该是32个,有一个\0被系统占用掉);

2、SPIFFS本身不支持文件夹系统,但是可以识别‘/’作为文件名,换句话说路径会被识别成文件名,结合第一条,也就是路径加上文件名不能超过31个字;

3、文件大小倒是没见到有限制,一说是通过ESP8266FS上传最大只能到142k或者192k(这个没有亲自验证过),然后是最大见到有人通过FSWebServer传了4MB的文件上去。

然而比对这边,并没有中招,最长的文件名js/bootstrap-colorpicker.min.js刚刚好31个字符,其他的文件都比它少,重新上传了一次依旧无解,最后只能尝试缩短文件名,结果奏效了,没有出现警告,上传上去列出文件列表也发现齐全了,这就很尴尬了,明明文件名没到31个字,结果缺不给上传,如果遇到这种情况的话就只能缩短文件名试试看了。

本文链接地址:https://www.windworkshop.cn/?p=1453 »文章允许转载 ,转载请注明出处,谢谢。

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据