- 浏览: 1488761 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
html5的fiesystem api可以存取本地文件
一言不合上代码
参考http://www.cnblogs.com/zhwl/p/3201975.html
------------------------另一种本地存key value的方法----
key value的形式存在浏览器上
还有一种叫appcache,参考jslinux-network中的吧
一言不合上代码
<a href="filesystem:http://192.168.139.85/temporary/">filesystem:http://192.168.139.85/temporary/</a></br> <input type="button" value="create log and /log/log.txt" onclick="create_test()"/></br> <input type="text" id="delete_file" value="/log/log.txt"/> <input type="button" value="delete file" onclick="window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onDeleteFile, errorHandler)"/></br> <input type="button" value="read /log/log.txt" onclick="window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onReadFile, errorHandler)"/></br> <input type="file" id="myfile" multiple /> </br> <input type="button" value="delete dir log" onclick="window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onDeleteDir, errorHandler)"/></br> <script type="text/javascript"> window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; function onMkdir(fs) { console.log('mkdir log, Opened file system: ' + fs.name); fs.root.getDirectory('log', {create: true, exclusive: true}, function(dirEntry) { console.log("-----create---/log"); dirEntry.isDirectory === true; dirEntry.name == 'log'; dirEntry.fullPath == '/log'; }, errorHandler); } function onInitFile(fs) { console.log('create /log/log.txt, Opened file system: ' + fs.name); fs.root.getFile('/log/log.txt', {create: true, exclusive: true}, function(fileEntry) { console.log("-----create---/log/log.txt"); fileEntry.isFile === true fileEntry.name == 'log.txt' fileEntry.fullPath == '/log/log.txt' fileEntry.createWriter(function(fileWriter) { fileWriter.onwriteend = function(e) { console.log('Write completed.'); }; fileWriter.onerror = function(e) { console.log('Write failed: ' + e.toString()); }; // Create a new Blob and write it to log.txt. // var bb = new BlobBuilder(); // Note: window.WebKitBlobBuilder in Chrome 12. // var bb = new window.WebKitBlobBuilder();// in Chrome 12. // var bb = new (window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder)(); // bb.append('hello haoning'); // new Blob(["data"]); // fileWriter.write(bb.getBlob('text/plain')); // http://stackoverflow.com/questions/14527820/does-html-5s-blobbuilder-still-work-in-google-chrome fileWriter.write(new Blob(["hello ","haoning"])); }, errorHandler); }, errorHandler); } function onReadFile(fs) { console.log('read /log/log.txt, Opened file system: ' + fs.name); fs.root.getFile('/log/log.txt', {}, function(fileEntry) { // Get a File object representing the file, // then use FileReader to read its contents. fileEntry.file(function(file) { var reader = new FileReader(); reader.onloadend = function(e) { var txtArea = document.createElement('textarea'); txtArea.value = this.result; document.body.appendChild(txtArea); }; reader.readAsText(file); }, errorHandler); }, errorHandler); } function onDeleteFile(fs) { console.log('rm <file> ,Opened file system: ' + fs.name); fs.root.getFile(document.getElementById("delete_file").value, {delete: true, exclusive: true}, function(fileEntry) { console.log("delete--------log.txt"); fileEntry.remove(successCallback, opt_errorCallback); }, errorHandler); } function onDeleteDir(fs) { console.log('rm -rf log ,Opened file system: ' + fs.name); fs.root.getDirectory('log', {delete: true, exclusive: true}, function(dirEntry) { console.log("delete--------log"); //dirEntry.remove(successCallback, errorHandler); dirEntry.removeRecursively(successCallback, opt_errorCallback); }, errorHandler); } //window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onMkdir, errorHandler); //window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onInitFile, errorHandler); //window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onDeleteFile, errorHandler); //window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onDeleteDir, errorHandler); //window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onReadFile, errorHandler); function create_test(){ window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onMkdir, errorHandler); window.requestFileSystem(window.TEMPORARY, 5*1024*1024 , onInitFile, errorHandler); } document.querySelector('#myfile').onchange = function(e) { var files = this.files; window.requestFileSystem(window.TEMPORARY, 1024*1024, function(fs) { // Duplicate each file the user selected to the app's fs. for (var i = 0, file; file = files[i]; ++i) { // Capture current iteration's file in local scope for the getFile() callback. (function(f) { fs.root.getFile("/log/"+file.name, {create: true, exclusive: true}, function(fileEntry) { fileEntry.createWriter(function(fileWriter) { fileWriter.write(f); // Note: write() can take a File or Blob object. }, errorHandler); }, errorHandler); })(file); } }, errorHandler); }; //--------------------------------------------- function successCallback(){ console.log("---->successCallback."); } function opt_errorCallback(eee){ console.log("this error:"+eee); } function errorHandler(e) { var msg = ''; switch (e.code) { case FileError.QUOTA_EXCEEDED_ERR: msg = 'QUOTA_EXCEEDED_ERR'; break; case FileError.NOT_FOUND_ERR: msg = 'NOT_FOUND_ERR'; break; case FileError.SECURITY_ERR: msg = 'SECURITY_ERR'; break; case FileError.INVALID_MODIFICATION_ERR: msg = 'INVALID_MODIFICATION_ERR'; break; case FileError.INVALID_STATE_ERR: msg = 'INVALID_STATE_ERR'; break; default: msg = 'Unknown Error'; break; }; console.log('Error1: ' + msg); } //window.webkitStorageInfo.requestQuota(TEMPORARY, 1024*1024, function(grantedBytes) { // console.log("ccccccccccc"); // window.requestFileSystem(TEMPORARY, grantedBytes, onInitFs, errorHandler); // }, function(e) { // console.log('Error', e); //}); </script>
参考http://www.cnblogs.com/zhwl/p/3201975.html
![](http://dl2.iteye.com/upload/attachment/0117/8042/818799b2-c7de-3a77-aa76-f57862da7ac9.png)
------------------------另一种本地存key value的方法----
<input type="button" onclick="test_save()" value="save"/> <input type="button" onclick="test_clear()" value="clear"/> <pre> F12 Resources Local Storage </pre> <script type="text/javascript"> var jsonstr={'name':"haoning","no":123}; function save(dataModel){ console.log(dataModel); var value = JSON.stringify(dataModel);//dataModel.serialize(); window.localStorage['myname'] = value; localStorage.setItem("myage",12); return value; } function clear(){ console.log("---clear"); if(window.localStorage['myname']){ console.log("---delete myname myage"); delete window.localStorage['myname']; delete window.localStorage['myage']; } } function test_save(){ save(jsonstr); // clear(); } function test_clear(){ clear(); } //request = indexedDB.open("DataModel"); </script>
key value的形式存在浏览器上
![](http://dl2.iteye.com/upload/attachment/0118/1479/abfc83a6-e08d-3a7f-abf2-6cfd6a0a5fd7.png)
还有一种叫appcache,参考jslinux-network中的吧
发表评论
-
indexedDB存图片减少请求
2020-05-21 19:23 569getImageFile()获取网络图片 showImage ... -
vizceral-example的例子
2020-03-19 18:53 370自定义图和加载结构 代码在 https://github.c ... -
jsonpath的helloworld
2020-03-17 14:58 423基本语法:https://www.cnblogs.com/jp ... -
流动图神器vizceral
2019-10-12 19:04 543把c的代码生成json:https://github.com/ ... -
emscripten asm.js的helloworld
2018-03-01 20:15 1131mac下安装: brew install SDL2 SDL2_ ... -
websocket上传文件
2016-12-15 13:30 4512nginx的上传 查看http://haoningabc.it ... -
webpack的helloworld
2016-11-02 10:42 921参考 http://www.jianshu.com/p/42e ... -
iphone6等移动端的css自适应
2016-10-17 01:18 1221参考 http://jingyan.baidu.com/art ... -
javascript自定义事件
2016-06-01 21:49 562一言不合上代码 <input value=" ... -
websocket传传图片
2015-12-25 17:51 7254参考[url]http://www.adobe.com/dev ... -
angularjs使用include后双向绑定失败的解决
2015-12-20 19:41 1878原理参考 http://segmentfault.com/q/ ... -
html5 陀螺仪
2014-11-26 21:05 5893<html> <head> ... -
webgl的贝塞尔曲线
2014-11-12 00:56 2549BezierCurve webgl的贝塞尔曲线 webgl ... -
chrome app的helloworld
2014-11-11 13:56 727参考 http://blog.csdn.net/rydiy/a ... -
shader and Program编程基本概念 - 转
2014-11-04 11:50 1564原地址:http://blog.csdn.net/myarro ... -
javascript对象转json
2014-10-17 14:09 1020<html> <head>& ... -
jquery 的svg中国地图
2012-12-16 14:37 28112三种吧 1.d3.js很强大 2.jquery的 jvecto ... -
纯css的树型结构
2012-10-03 18:29 1293<html><head> ... -
D3 的3d图
2012-09-16 17:05 1468LCF http://mathworld.wolfram. ... -
jquery table拖拽排序
2012-07-14 21:45 7137参考http://dragsort.codeplex.com/ ...
相关推荐
5. 取下启动 U 盘并重新启动电脑即可以进入以前的系统。 在修复成功后,我们可以取下启动 U 盘并重新启动电脑。这样,我们就可以重新进入以前的系统了。 解决电脑开机错误unknown filesystem的方法非常简单,我们...
一款基于机器学习的Web日志统计分析与异常检测命令行工具_hy4
基于RBAC权限控制的资产管理系统_hy5
318 Series Hardened Access Points 370 Series Outdoor Access Points 310 Series Campus Access Points IAP-315 IAP-314
最强PMP备考计划、知识整理、试题,并以本系统来展示_hy5
【官方】计算机职业英语一级考试样卷.pdf 【官方】全国机等级考试二级笔试样卷:存取(Access)数据库程序设计.pdf 【官方】全国计算机等级考试二级笔试样卷:C++语言程序设计.pdf 【官方】全国计算机等级考试二级笔试样卷:C语言程序设计.pdf 【官方】全国机等级考试二级笔试样卷:德尔菲(Delphi)语言程序设计.pdf 【官方】全国机等级考试二级笔试样卷:Java语言程序设计.pdf 【官方】全国机等级考试二级笔试样卷:视觉基础语言程序设计.pdf 【官方】全国机等级考试二级笔试样卷:视讯FoxPro数据库程序设计.pdf 【官方】全国计算机等级考试三级笔试样卷:PC技术,pdf 【官方】全国计算机等级考试三级笔试样卷:网络技术.pdf 【官方】全国计算机等级考试三级笔试样卷:信息管理技术,pdf 【官方】全国计算机等级考试四级笔试样卷:软件测试工程师.pdf 【官方】全国计算机等级考试四级笔试样卷:数据库工程师,pdf 【官方】全国计算机等级考试四级笔试样卷:数据库技术,pdf 【官方】全国计算机等级考试四级笔试样卷:网络工程师.pdf
SpringBoot网上商城#java#毕业设计#网上商城#springboot#课程设计#编程#thymeleaf_hy4
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
360 Series Outdoor Access Points 303 Series Campus Access Points 303H Series Hospitality Access Points 300 Series Campus Access Points
肽质量指纹图谱提取区域检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
分布式事务实战_hy4
python网络爬虫按月爬cctv新闻30分的视频_hy4
【golang】企业微信群机器人接口Golang封装
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
mumu-activemq是一个对老牌mq消息中间件的学习和测试项目,本人通过这个项目来熟悉activemq的消息发送流_hy4
【Python+HTML】基于flask的rbac学生权限管理系统,redis存储session_pgj
一步一步学springboot2:微服务项目实战(第二版)_hy5
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
新建 DOC 文档.doc