标签: fileapi

Youtube Blob网址在浏览器中不起作用,但在src中不起作用

我知道没有blob网址只有对象.
我为视频缓冲区创建了自己的blob对象,然后在视频标记的src中使用它,类似于blob://website.com/blablobbla.我在它工作的浏览器中打开了这个url

当我打开youtube视频src(blob url)的url到一个新标签时,它没有用,但是我的视频src(blob url)工作了

我想知道如何对我的blob网址执行相同操作,以便它们只能在html视频标记的src中工作,并且在浏览器的外部选项卡/窗口中发出错误或不起作用.我只是想知道这个和blob对象及其url属性背后的技术.

javascript url blob fileapi media-source

14
推荐指数
2
解决办法
8166
查看次数

参数不是'Blob'类型

我编写了下面的代码,使用文件API显示本地文件中的文本,但是当我单击按钮时,没有任何反应.我在浏览器中检查元素时出现以下错误.我究竟做错了什么?

未捕获的TypeError:无法在'FileReader'上执行'readAsText':参数1不是'Blob'类型.

<!DOCTYPE html>
    <html>
    <body>

    <p>This example uses the addEventListener() method to attach a click event to a button.</p>

    <button id="myBtn">Try it</button>
    <pre id="file"></pre>

    <script>
    document.getElementById("myBtn").addEventListener("click", function(){
       var file = "test.txt"
       var reader = new FileReader();

       document.getElementById('file').innerText = reader.result;
   
       reader.readAsText(file);

    });
    </script>

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

html javascript html5 fileapi

14
推荐指数
2
解决办法
5万
查看次数

如何在现代浏览器中生成缩略图客户端?

我正在寻找一种优雅的方法来生成与FileAPI一起使用的缩略图.目前我得到一个表示图像的DataURL.问题是,如果图像非常大,则移动它并重新渲染它会变得CPU密集.我可以看到两个选项来解决这个问题.

  • 在客户端上生成缩略图
  • 在服务器上生成缩略图,将缩略图发送回客户端(AJAX).

随着HTML5我们有一个canvas元素?有谁知道如何使用它从图片生成缩略图?它们不一定非常完美 - 取样质量是可以接受的.有jQuery插件可以帮我吗?有没有其他方法可以加速客户端使用大图像?

我正在使用HTML5,并且Firefox 3.6+:除了之外没有必要支持任何其他内容Firefox 3.6+,请不要提供建议IE 6.0

html5 fileapi

13
推荐指数
2
解决办法
2万
查看次数

使用Javascript解码JPEG2000 bitarray图像

我正在使用带有FileApi的HTML5技术.

我的问题很简单,但我在2天前搜索,我在网上找不到任何东西

我有一个DicomFile.我使用HTML5中的FileApi将其分解,并获取所有信息.最后,我得到一个字节数组中的图像数据.问题是我无法解码JPEG2000图像并在浏览器中显示它(Chrome,FireFox,任何).例如,如果图像数据以JPEG格式编码,我在浏览器中显示图像完全没有问题,但问题在于JPEG2000或JPEG-LS.我知道那些图像格式无法在网页浏览器中显示,但它必须在Javascript中存在一个库来解码JPEG2000或JPEG-LS中的图像数据.这非常重要,我有点贬低.

如果我找不到任何办法,我将不得不改变我的所有工作.

非常感谢你提前

javascript decode dicom jpeg2000 fileapi

13
推荐指数
2
解决办法
9611
查看次数

IOS6和Safari Photo Uploading - File API + Canvas + jQuery Ajax异步上传和调整文件大小

IOS6已经发布,我一直在测试照片上传.

它效果很好,但是通过3G上的图像越大,它就像预期的那样缓慢.

感谢File API和Canvas,可以使用JavaScript调整图像大小.我希望如果我在尝试上传图像之前调整图像大小,它们会更快上传 - 这样可以提高用户体验.随着智能手机处理器以比网络速度快的速度增长,我相信这个解决方案是一个胜利者.

Nicolas为图像大小调整提供了出色的解决方案:

图像在上传前调整大小

但是,我最难用jQuery的Ajax实现它.任何建议或帮助都表示赞赏,因为此代码可能对IOS6后的移动Web应用程序开发非常有用.

var fileType = file.type,
    reader = new FileReader();

reader.onloadend = function () {
    var image = new Image();
    image.src = reader.result;

    image.onload = function () {

        //Detect image size
        var maxWidth = 960,
            maxHeight = 960,
            imageWidth = image.width,
            imageHeight = image.height;
        if (imageWidth > imageHeight) {
            if (imageWidth > maxWidth) {
                imageHeight *= maxWidth / imageWidth;
                imageWidth = maxWidth;
            }
        } else {
            if (imageHeight > maxHeight) {
                imageWidth *= …
Run Code Online (Sandbox Code Playgroud)

ajax jquery fileapi ios6

13
推荐指数
2
解决办法
2万
查看次数

检查变量是否包含File或Blob

JavaScript有两个FileBlob的文件表示,无一不是几乎同样的事情.有没有办法检查变量是持有一种数据File还是一种Blob数据?

javascript fileapi

13
推荐指数
4
解决办法
2万
查看次数

HTML5 FIle API:读取文件时出现安全性错误

问题解决了,看了评论

我在HTML5文件API中遇到的第三个问题:我仍在Mac OS X Snow Leopard上使用Chrome 12,我仍在尝试使用HTML5文件API读取文件,但因为"SECURITY_ERR"而调用了FileHandler.error() occurres.我尝试读取的文件是来自桌面的常规.txt文件,但它既不能用于其他文件,尽管我可以使用常规应用程序打开它们.

function FileHandler(files, action) {
    console.log('FileHandler called.');

    this.files = files;
    this.reader = new FileReader();
    this.action = action;

    this.handle = function() {
        console.log('FileHandler.handle called.');

        for (var i = 0; i < this.files.length; i++) {
            this.reader.readAsDataURL(files[i]);
        }
    }

    this.upload = function() {
        console.log('FileHandler.upload called.');
        console.log(this.reader);

        data = {
            content: this.reader.result
        }

        console.log(data);
    }

    this.error = function() {
        console.log('An error occurred while reading the file.');
        console.log(this.reader.error);
    }

    this.reader.onload = this.upload.bind(this);
    this.reader.onerror = this.error.bind(this);
}
Run Code Online (Sandbox Code Playgroud)

该代码生成以下控制台输出:http …

javascript html5 filereader fileapi

12
推荐指数
1
解决办法
6633
查看次数

jquery.support来检测JavaScript的File API?

我无法通过jQuery中的methon 找到检测浏览器是否支持File API.support方法.

谁知道呢?

(顺便说一句:input[type=file]用IE 检测文件大小的方法?)

javascript jquery internet-explorer fileapi

12
推荐指数
2
解决办法
5999
查看次数

如何在没有FileReader的情况下从Blob和File对象创建ArrayBuffer和数据URI?

此问题与旧浏览器中如何更新(与Safari 5.1.4相关)有关并受其启发

给定一个<input type="file">具有元件files包含属性File从继承的对象Blob,是有可能创造一个ArrayBuffer和转换ArrayBuffer到一个data URI从一个BlobFile对象,而无需使用FileReader

到目前为止已尝试过方法

  • WebSocket使用.binaryTypeset 创建一个mock "arraybuffer",创建一个MessageEventwith event.dataset to Fileobject; 结果是处理程序的File对象onmessage

  • 设置原型FileArrayBuffer,Uint8Array; 结果是Uncaught TypeError: Method ArrayBuffer.prototype.byteLength called on incompatible receiver #<ArrayBuffer>(),Uncaught TypeError: Method get TypedArray.prototype.byteLength called on incompatible receiver [object Object]()

  • 设置File在 …

javascript blob fileapi typed-arrays data-uri

12
推荐指数
1
解决办法
2806
查看次数

JavaScript FileReader 切片性能

我正在尝试使用 JavaScript 中的 FileApi 访问文本文件的前几行。

为此,我从文件的开头切片任意数量的字节并将 blob 交给 FileReader。

对于大文件,这需要很长时间,但据我所知,只需要访问文件的前几个字节。后台是否有一些实现需要在切片之前访问整个文件?它是否取决于 FileApi 的浏览器实现?我目前在 Chrome 和 Edge(铬)中进行了测试。

使用性能开发工具在 Chrome 中进行分析显示 reader.onloadend 之前有大量空闲时间,并且 ram 使用量没有增加。然而,这可能是因为 FileApi 是在浏览器本身中实现的,并没有反映在 JavaScript 性能统计中。

我的 FileReader 实现看起来像这样:

const reader = new FileReader();

reader.onloadend = (evt) => {
  if (evt.target.readyState == FileReader.DONE) {
    console.log(evt.target.result.toString());
  }
};

// Slice first 10240 bytes of the file
var blob = files.item(0).slice(0, 1024 * 10);

// Start reading the sliced blob
reader.readAsBinaryString(blob);
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如所描述的那样,对于大文件来说表现不佳。我尝试了 10kb、100mb 和 6gb。记录前 10kb 之前的时间似乎与文件大小直接相关。

您对如何提高读取文件开头的性能有什么建议吗?


编辑:使用@BenjaminGruenbaum 建议的响应和 DOM 流确实不能提高读取性能。 …

javascript blob filereader fileapi

12
推荐指数
1
解决办法
345
查看次数