html5 保存文件
来源:互联网 发布:安徽联通云计算 编辑:程序博客网 时间:2024/05/29 19:44
利用浏览器做一个工具时,往往操作的对象就是文件本身,我们需要打开文件,然后对文件进行处理,最后,将处理后的数据,以文件的形式保存起来
那么:我们怎么保存文件呢?
以下提供两个方案 :
1 大家都不陌生,我们在浏览器上经常使用,单击一个链接,启动下载,如下:
function createDownloadLink(dataUrl,fileName){ var save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a"); save_link.download = fileName; save_link.href = dataUrl;}
function click = function(node) {var event = doc.createEvent("MouseEvents");event.initMouseEvent("click", true, false, view, 0, 0, 0, 0, 0, false, false, false, false, 0, null);node.dispatchEvent(event);}
var dataUrl = "data:xxxxxxxxxxxxxxxxxxxxxxx";//资源的dataUrlvar saveLink = createDownLoadLink(dataUrl);click(saveLink);
原理是创建一个下载的链接,将连接的href 用dataUrl赋值。然后触发链接的点击事件,实现下载。
2 利用html5 进行保存文件操作
关键步骤:
var req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem ;
req_fs(window.TEMPORARY, 5*1024*1024,createAndSaveFile);
function createAndSaveFile(fs){fs.root.getFile('log.txt', {create: true}, function(fileEntry) { // Create a FileWriter object for our FileEntry (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. bb.append('Lorem Ipsum'); fileWriter.write(bb.getBlob('text/plain')); }, errorHandler); }, errorHandler);}
参考:
https://github.com/eligrey/FileSaver.js/
http://www.html5rocks.com/zh/tutorials/file/filesystem/ 重点
http://stackoverflow.com/questions/13130070/html5-filesystems-api-letting-users-save-files-to-their-actual-filesystem
http://www.html5rocks.com/zh/tutorials/file/filesystem/
http://www.xyhtml5.com/read-and-save-files-using-javascript.html
- html5 保存文件
- html5保存文件
- html5 canvas图像保存为图片文件
- html5笔记5 — canvas保存文件
- html5 javascript FileReader 读取文件并传回后台保存
- HTML5 离线保存数据
- 链接HTML5 保存
- 保存文件
- 保存文件
- 文件保存
- 保存文件
- 文件保存
- 保存文件
- 保存文件
- 保存文件
- 保存文件
- 保存文件
- html5-文件
- ImportExcel
- 只安装PostgreSQL客户端工具psql的方法
- 检入收缩包络并勾选自动关联部件时提示检入失败
- 区分JS中的null,undefined,'',0,false
- 配置XP成为VPN服务器(转)
- html5 保存文件
- SVN简介 结合Google 代码托管 使用 关于版本控制 以前并不是了解多少 ,以前听过CVS,
- Java读文件的一些注意的地方
- 使用jQuery Mobile 快速开发mobile 网站
- FFMPEG-Java 入门
- 导出CSV文件
- iOS学习笔记25—NSDate的常用用法(一)
- android的Intent返回值
- Android 对话框(Dialog)大全 建立你自己的对话框