标签: html5-filesystem

在 JS 中动态创建同一文件的多个实例(workers)

所以我基本上是这样做的(简化的)......

var script = '...some JS code...',
    blob = blob = new Blob([script]),
    worker = [];

for (var i=0; i<10; i++) {
    worker[i] = new Worker(URL.createObjectURL(blob));
}
Run Code Online (Sandbox Code Playgroud)

...动态创建同一个 JS 文件的 10 个实例并将其传递给 10 个 Web Workers(然后控制器/委托者在 10 个任务之间划分特定任务以进行进一步处理 - 但这对于目前这个问题并不重要) 。

这一切都工作正常,但在检查 Chrome 开发人员工具(网络)中的代码后,我发现 Chrome 确实创建了同一文件的 10 个单独版本(花费额外的初始化毫秒数 - 可以看到创建的每个附加文件的瀑布)它是同一个文件。

如果我URL.createObjectURL(blob)在循环之外进入一个单独的变量,然后将该变量传递给循环中的工作人员 - 它不再正常工作 - 似乎所有工作人员都共享完全相同的 JS 文件(即使我希望每个工人都会启动自己单独的进程)。

有任何想法吗?我可以以某种方式URL.createObjectURL(blob)只创建一次,然后以某种方式复制/克隆它吗?不确定这是否会有所帮助或使事情有所不同?

html javascript web-worker html5-filesystem

6
推荐指数
0
解决办法
875
查看次数

检查是否存在本地文件(HTML5 FS API)

我正在开发Chrome扩展程序,我想检查文件是否存在.我不想对文件做任何事情:我只想检查它的存在.

如果我使用XMLHttpRequest它不起作用,因为出于安全原因不允许它.所以我必须使用HTML5 FS API.问题是此API没有方法来检查文件是否存在.

我有一个名为"fileExists"的变量,我想知道如何将其值从false更改为true或从true更改为false,具体取决于文件的存在(由URL确定).

谢谢.

javascript google-chrome-extension html5-filesystem

6
推荐指数
1
解决办法
5058
查看次数

在IOS 6.0上由HTML5文件API捕获图像时的方向错误

我在移动网络应用程序上使用HTML5文件api进行图像上传实用程序.
我正在使用相机拍摄图像并将其上传到服务器.
问题是,如果我捕获肖像图像,上传的图像会自动转换为横向.

html5 html5-filesystem ios6

6
推荐指数
1
解决办法
5571
查看次数

HTML5 Filesystem API:下载沙盒文件?

我在indexeddb文件中有一些数据,我想让我的用户下载该数据以导入到其他应用程序中.我可以使用Blob轻松完成此操作:

 var blob = new Blob(['herp!'], {type: 'application/octet-stream'});
 var iframe = document.createElement("iframe");
 iframe.id = "myiframe";
 iframe.style.display = "none";
 iframe.src = window.webkitURL.createObjectURL(blob); // needs a revokeObjectURL
 $('#dlplaceholder').append(iframe);
Run Code Online (Sandbox Code Playgroud)

Blob的正确类型参数是关键:如果我将其设置为text/plain,则不会下载该文件.如果我有iframe的高度和宽度以及块的显示类型,我可以在iframe中看到数据.

但是,我想要从我的数据库中使用多个值构建一个文件,并且每个值都可以很大,并且我可以有很多条目.我可以在Blob构造函数中连接这些值,但我担心在内存中有这么多数据我会爆炸.

所以我决定在沙盒系统中创建一个文件,并将每个值附加到它,并使用该文件而不是blob作为createObjectURL的参数.但是当我这样做时,它不会下载; 它的行为就像我使用一种text/plain类型的Blob代码一样.这是代码:

var fname = 'mybadtest'; //UPDATE here's the problem: needs .bin file extension
var init_fs = function ( fs ) {
  // first, write to the sandboxed file
  fs.root.getFile(fname, {create: true, exclusive: true}, function(fileEntry) {
    fileEntry.createWriter(function(fileWriter) {
      fileWriter.onwriteend = function(e) {
        // write to file completed. now use the file for …
Run Code Online (Sandbox Code Playgroud)

html5 html5-filesystem

6
推荐指数
0
解决办法
1112
查看次数

HTML5 FileSystem API

我已经通过fileSystem API创建了文件'log.txt'

function initFS(grantedBytes) {
    window.requestFileSystem(window.PERSISTENT, grantedBytes, function (filesystem) {
        fs = filesystem;

        fs.root.getFile('log.txt', { create: true, exclusive: true }, function (fileEntry) {

            // fileEntry.isFile === true
            // fileEntry.name == 'log.txt'
            // fileEntry.fullPath == '/log.txt'
            console.log(fileEntry.fullPath);



        }, errorHandler);
    }, errorHandler);
}

initFS(1024*1024);
Run Code Online (Sandbox Code Playgroud)

而且不完全了解它的结构.有没有办法从Windows资源管理器中探索此文件,并在文件系统中查看它?

javascript html5 google-chrome html5-filesystem google-chrome-app

6
推荐指数
1
解决办法
3215
查看次数

如何使用HTML5 FileSystem界面检索文件的大小?

我如何了解位于通过HTML5 API公开的本地文件系统中的文件的大小?

我期待着一些事情,

 fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
       //    fileEntry.size - ????????

        });
Run Code Online (Sandbox Code Playgroud)

......可用,但没有找到类似的东西.

javascript html5 html5-filesystem

6
推荐指数
1
解决办法
2623
查看次数

e.dataTransfer.files.length 显示为 0

我正在 HTML5 中做一个非常标准的拖放功能。但是,由于某种原因,e.target.dataTransfer 显示为未定义。我是 JavaScript 新手。任何帮助将不胜感激。

这是java脚本。

    <script src="jquery-2.1.4.min.js"></script>
<script>
    $(document)
            .ready(
                    function() {

                        jQuery.event.props.push('dataTransfer');

                        if (!!window.FileReader) {
                            // Browser suppports FILE API.  

                            // is XHR2 available?
                            var xhr = new XMLHttpRequest();
                            if (xhr.upload) {
                                $('#drag-and-drop-zone').bind('dragover',
                                        function(e) {
                                            e.preventDefault();
                                            e.stopPropagation();
                                            $(this).addClass('drag-over');
                                            return false;
                                        });
                                $('#drag-and-drop-zone').bind('dragleave',
                                        function(e) {
                                            e.preventDefault();
                                            e.stopPropagation();
                                            $(this).removeClass('drag-over');
                                            return false;
                                        });

                                $('#drag-and-drop-zone')
                                        .bind(
                                                'drop',
                                                function(e) {

                                                    e.preventDefault();
                                                    e.stopPropagation();

                                                    $(this).removeClass(
                                                            'drag-over');
                                                    alert(this.id);
                                                    alert('This shows up as 0. Why? . '
                                                            + e.dataTransfer.files.length);

                                                    return false;
                                                });

                            }

                        } else { …
Run Code Online (Sandbox Code Playgroud)

html javascript html5-filesystem

6
推荐指数
1
解决办法
3601
查看次数

将Blob /文件数据转换为JavaScript中的ImageData?

我正在使用文件输入元素从android浏览器捕获图像。现在,我想将Blob数据转换为ImageData,以便可以使用来将其呈现在画布上putImageData

<!DOCTYPE html>
<html>

<body>
    <input type="file" id="file" />
</body>

<script>
    function handleFileSelect(evt) {

        var files = evt.target.files; // FileList object

        var selFile = files[0];
        var reader = new FileReader();
        reader.onload = function(e) {
        var blobData = e.target.result;    
            console.log(e.target.result);
        };

        reader.onerror = function(e) {
            console.log(e);
        };
        reader.readAsArrayBuffer(selFile);
    }


    document.getElementById('file').addEventListener('change',handleFileSelect, false);
</script>

</html>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,如何将blobData转换为ImageData?提前致谢。

html5 getimagedata html5-canvas html5-filesystem putimagedata

6
推荐指数
1
解决办法
5118
查看次数

在 Chrome 中下载后访问文件数据...?

我正在编写一个扩展程序,它可以在下载文件后(通过正常的下载过程)理想地读取文件。那可能吗?我可以通过 chrome.downloads 操作获取文件名,但我找不到读取实际字节的方法。我不需要写或移动它们,只需阅读。

javascript google-chrome google-chrome-extension html5-filesystem

6
推荐指数
1
解决办法
3036
查看次数

使用 FileSystem API 写入文件

我正在尝试使用文件系统 API 创建一个文件..我用谷歌搜索并得到了一个代码

function onFs(fs) {

  fs.root.getFile('log.txt', {create: true, exclusive: true},
      function(fileEntry) {
           fileEntry.getMetaData(function(md) {
            }, onError);

      },
      onError
  );
}

window.requestFileSystem(TEMPORARY, 1024*1024 /*1MB*/, onFs, onError);
Run Code Online (Sandbox Code Playgroud)

任何人都可以说出作为函数参数传递的 fs 是什么..

请给我推荐一个很好的例子...

html html5-filesystem

5
推荐指数
1
解决办法
577
查看次数