zoukankan      html  css  js  c++  java
  • HTML5 本地文件操作之FileSystemAPI实例(三)

    文件夹操作demo

    1.读取根目录文件夹内容

    window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
    window.requestFileSystem(window.PERSISTENT, 5 * 1024, initFs, errorHandler);
    function initFs(fs) {
        //显示根目录下的内容
        var dirReader = fs.root.createReader();
        var entries = [];
        var readEntries = function () {
            //DirectoryReader.readEntries() 方法一次读取内容的个数不一定
            //返回FileEntry数组
            dirReader.readEntries(function (results) {
                console.info(results);
                if (!results.length) {
                    showEntries(entries.sort());
                } else {
                    entries = entries.concat(toArray(results));
                    readEntries();
                }
            }, errorHandler);
        }
        readEntries();
    }
    function errorHandler(err) {
        console.info(err);
    }
    function toArray(list) {
        return Array.prototype.slice.call(list || [], 0);
    }
    //显示读取结果
    function showEntries(entries) {
        var fragment = document.createDocumentFragment();
        entries.forEach(function (entry, i) {
            var li = document.createElement('li');
            li.innerHTML = ['是否是目录:', entry.isDirectory, '----文件名:', entry.name].join('');
            fragment.appendChild(li);
        });
        document.querySelector('#filelist').appendChild(fragment);
    }

    2.读取子目录‘MyPictures’,'MyPicturres/subfolder'

    window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
    window.requestFileSystem(window.TEMPORARY, 5 * 1024, initFs, errorHandler);
    function initFs(fs) {
        //创建目录
        fs.root.getDirectory('MyPictures', { create: true }, function (dirEntry) {
            console.log('创建目录成功:' + dirEntry.fullPath);
            console.info(dirEntry);
        }, errorHandler);
    }
    function errorHandler(err) {
        console.info(err);
    }

    3.创建子目录

    window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
    window.requestFileSystem(window.TEMPORARY, 5 * 1024, initFs, errorHandler);
    function initFs(fs) {
        //创建子目录,在使用getDirectory()方法创建父目录不存在的目录,将引发异常
        //为了使用方便以递归的方式,添加各个子目录
        var path = 'musi/genres/jazz/';
        function createDir(rootDirEntry, folders) {
            if (folders[0] == '.' || folders[0] == '') {
                folders = folders.slice(1);
            }
            rootDirEntry.getDirectory(folders[0], { create: true }, function (dirEntry) {
                console.info(dirEntry.fullPath);
                if (folders.length) {
                    createDir(dirEntry, folders.slice(1));
                }
            }, errorHandler)
        }
        createDir(fs.root, path.split('/'));
    }
    function errorHandler(err) {
        console.info(err);
    }

     

    更多:

    HTML5 本地文件操作之FileSystemAPI实例(二)

    HTML5 本地文件操作之FileSystemAPI实例(一)

    HTML5 本地文件操作之FileSystemAPI整理(二)

  • 相关阅读:
    xps坐标计算
    xps文档
    xps坐标提取
    javascript
    python 类的继承
    PHP parse_url函数示例
    PHP 二维数组按照指定键排序(正序或倒叙均可)
    PHP substr()函数参数解释 通俗易懂
    PHP四大经典排序算法源码
    X友 NC 远程命令执行
  • 原文地址:https://www.cnblogs.com/tianma3798/p/6441062.html
Copyright © 2011-2022 走看看