标签: filereader

使用原生Chrome Javascript/FileReader/DataView读取id3 v2.4标签

根据ebidel的答案,可以使用jDataView读取id3v1标签:

document.querySelector('input[type="file"]').onchange = function (e) {
    var reader = new FileReader();

    reader.onload = function (e) {
        var dv = new jDataView(this.result);

        // "TAG" starts at byte -128 from EOF.
        // See http://en.wikipedia.org/wiki/ID3
        if (dv.getString(3, dv.byteLength - 128) == 'TAG') {
            var title = dv.getString(30, dv.tell());
            var artist = dv.getString(30, dv.tell());
            var album = dv.getString(30, dv.tell());
            var year = dv.getString(4, dv.tell());
        } else {
            // no ID3v1 data found.
        }
    };

    reader.readAsArrayBuffer(this.files[0]);
};
Run Code Online (Sandbox Code Playgroud)

Chrome和其他浏览器现在已经实现了DataView(我只对Chrome感兴趣).我很好奇是否有人知道如何:

  1. 使用本机DataView读取标记
  2. 阅读id3 v2.4标签(包括APIC图像'coverart') …

javascript dataview id3 filereader

36
推荐指数
1
解决办法
3256
查看次数

大文件上的filereader api

到目前为止,我的文件阅读器api代码一直运行良好,直到有一天我从我的一个客户端获得了一个280MB的txt文件.页面只是在Chrome中直接崩溃,在Firefox中没有任何反应.

// create new reader object 
var fileReader = new FileReader(); 

// read the file as text 
fileReader.readAsText( $files[i] );  
fileReader.onload = function(e) 
{   // read all the information about the file 
    // do sanity checks here etc... 
    $timeout( function() 
    {    
        // var fileContent = e.target.result;
        // get the first line 
        var firstLine = e.target.result.slice(0, e.target.result.indexOf("\n") ); }}
Run Code Online (Sandbox Code Playgroud)

我上面要做的是获取第一个换行符,以便我可以获得文件的列长度.我不应该把它看作文字吗?如何在不破坏大文件页面的情况下获取文件的列长度?

javascript html5 filereader

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

HTML5 FileReader如何返回结果?

我使用JS FileReader.我希望在文件读取操作后获得结果并使用此数据.FileReader是异步的,我不知道结果何时准备就绪.如何正确完成?

$(document).ready(function(){
    $('#file_input').on('change', function(e){
        var res = readFile(this.files[0]);

        //my some manipulate with res

        $('#output_field').text(res);
    });
});

function readFile(file){
    var reader = new FileReader(),
        result = 'empty';

    reader.onload = function(e)
    {
        result = e.target.result;
    };

    reader.readAsText(file);

    //waiting until result is empty?

    return result;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/ub22m/4/

它显示"空".

如何等到"结果"为空?其他方式?

javascript html5 filereader

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

如何从jar文件中读取文件?

我在JAR文件中有一个文件.1.txt例如,这是.

我该如何访问它?我的源代码是:

Double result=0.0;
File file = new File("1.txt")); //how get this file from a jar file
BufferedReader input = new BufferedReader(new FileReader(file));
String line;
while ((line = input.readLine()) != null) {
  if(me==Integer.parseInt(line.split(":")[0])){
    result= parseDouble(line.split(":")[1]);
  }
}
input.close();
return result;
Run Code Online (Sandbox Code Playgroud)

java text jar file filereader

29
推荐指数
3
解决办法
6万
查看次数

在JavaScript中使用本地文件作为数据源

背景:

我想创建一个使用JavaScript/HTML的"app",可以直接从文件系统通过浏览器打开.此应用必须能够从其他文件中读取数据.然后我将使用JS来解析它并呈现页面.作为一个简化的例子,假设我有一个CSV文件(在这里下载):

Mark Rodgers,mark.rodgers@company.com,Accounting
[...]
Melissa Jones,melissa@company.com,CEO
Run Code Online (Sandbox Code Playgroud)

我希望能够使用JS读取文件并使用其中的数据来生成我的页面.

到目前为止我所取得的成就:

演示(右键单击 - >"另存为"将HTML保存到您的计算机).它也可以在 jsfiddle中以半破碎的方式使用(布局已经破坏,但它仍然应该在功能上正确).

只需将CSV文本文件拖放到拖放框中,或使用文件菜单选择文本文件,JavaScript将读取,解析文件并填充表格.

这依赖于FileReader API; 大部分繁重的工作都是通过这个功能完成的:

function handleFileSelect(evt) {
    evt.stopPropagation();
    evt.preventDefault();

    var files = evt.target.files || evt.dataTransfer.files; // FileList object.
    var file = files[0];

    // this creates the FileReader and reads stuff as text
    var fr = new FileReader();
    fr.onload = parse;
    fr.readAsText(file);

    // this is the function that actually parses the file
    // and populates the table
    function parse()
    { …
Run Code Online (Sandbox Code Playgroud)

javascript html5 file filereader

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

显示从s3获取的图像

我想从s3获取图像并将其显示在我的HTML页面上.

Angular HTML文件:

<section data-ng-controller="myCtrl">
    <img ng-src="{{src}}" width="200px" height="200px">
</section>
Run Code Online (Sandbox Code Playgroud)

角度控制器文件:

angular.module('users').controller('myCtrl', ['$scope',function($scope) {
    var s3 = new AWS.S3(); 
    s3.getObject({Bucket: 'mybucket', Key: 'myimage.jpg'},function(err,file){

    //code?? to display this image file in the img tag
    //$scope.src=file????....obviously it wont work

    });
}]);
Run Code Online (Sandbox Code Playgroud)

我找到了一些调用FileReader的东西并尝试了这个:

var reader = new FileReader();
reader.onload = function(event) {
    $scope.src = event.target.result;
}
reader.readAsDataURL(file);
Run Code Online (Sandbox Code Playgroud)

但它显示错误:
Uncaught TypeError:无法在'FileReader'上执行'readAsDataURL':参数1不是'Blob'类型.

请帮我在img标签中显示图像文件的代码
我的S3存储桶不公开

编辑:
我对s3不感兴趣.我想知道的是
如何使用HTML图像标签以文件对象(s3 obj)的形式显示您的javascript代码中的图像

javascript amazon-s3 filereader angularjs aws-sdk

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

Python:处理大文件的最快方法

我有多个3GB制表符分隔文件.每个文件中有2000万行.所有行必须独立处理,任何两行之间没有关系.我的问题是,什么会更快A.使用逐行阅读

with open() as infile:
    for line in infile:
Run Code Online (Sandbox Code Playgroud)

或者B.以块的形式将文件读入内存并进行处理,一次说250 MB?

处理不是很复杂,我只是将column1中的值抓到List1,将column2抓到List2等.可能需要一起添加一些列值.

我在具有30GB内存的Linux机器上使用python 2.7.ASCII文本.

有什么方法可以加速并行?现在我正在使用前一种方法,而且过程非常缓慢.使用任何CSVReader模块都可以提供帮助吗?我不必在python中使用它,任何其他语言或数据库使用的想法都是受欢迎的.谢谢.

python file filereader python-2.7

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

Chrome FileReader

有人能给我一个使用FileReader API的例子去获取chrome中文件的内容吗?

它似乎正在回归undefined我.

<!doctype html>
<html>
<script>
function handle_files(files) {
  console.log(files)
  reader = new FileReader()
  ret = []
  for (i = 0; i < files.length; i++) {
    file = files[i]
    console.log(file)
    text = reader.readAsText(file) //readAsdataURL
    console.log(text) //undefined
    ret.push(text)
  }
  console.log(ret) // [undefined]

}
</script>
<body>
FileReader Test
<input type="file" onchange="handle_files(this.files)">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html5 google-chrome filereader

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

使用javascript和websockets从blob显示图像

我目前正在研究一个显示由C++服务器发送的图像的WebSocket应用程序.我在那里看到了几个主题,但我似乎无法在Firefox中摆脱这个错误:

图像损坏或截断:data:image/png; base64,[some data]

这是我用来显示我的blob的Javascript代码:

socket.onmessage = function(msg) {
    var blob = msg.data;

    var reader = new FileReader();
    reader.onloadend = function() {
        var string = reader.result;
        var buffer = Base64.encode(string);
        var data = "data:image/png;base64,"+buffer;

        var image = document.getElementById('image');
        image.src = data;
    };
    reader.readAsBinaryString(blob);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用我在这个主题上找到的红点图片:https://stackoverflow.com/a/4478878/1464608 而Base64类来自这里:https://stackoverflow.com/a/246813/ 1464608

但我获得的base64结果不匹配,Firefox检索到图像被损坏的错误.

我知道这不是很多信息,但我不知道在哪里看:/任何帮助都非常受欢迎!

javascript html5 blob filereader websocket

26
推荐指数
4
解决办法
6万
查看次数

通过AJAX Post将文件输入发布为FileReader二进制数据

我试图通过rest API发布上传到HTML文件输入到网页的附件.API文档指出帖子是直接二进制内容作为HTTP请求的主体,而不是表单文件上载.

我的代码如下:

$('#_testButton').bind('click', function () {
    var file = document.getElementById('_testFile').files[0]
    var reader = new FileReader();
    reader.onload = function () {
        $.ajax({
            url: '/attachmentURL',
            type: 'POST',
            data: reader.result
        })
    }
    reader.readAsBinaryString(file)
})
Run Code Online (Sandbox Code Playgroud)

我需要这个来处理许多不同的mimeTypes,所以我没有在上面的代码中声明它.但是,我尝试为.doc文件声明contentType:'application/msword',并尝试使用processData:false和contentType:false.

数据将被发布到应有的位置.但是,当我打开文件时,我收到一条消息,上面写着mimeType:带有空文件的application/x-empty或带有一堆二进制字符的文件.我已经尝试过.doc文件和pdf文件,两者的结果是一样的.

有没有人知道我可以改变什么使这项工作?

ajax rest jquery filereader

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