标签: fileapi

使用base64编码/解码图像中断图像

我正在尝试编码和解码图像.我正在使用FileReader的readAsDataURL方法将图像转换为base64.然后将其转换回来我尝试过使用 readAsBinaryString()并且atob()没有运气.有没有另一种方法来保持图像没有base64编码吗?

readAsBinaryString()

开始读取指定Blob的内容,可能是文件.当读取操作完成时,readyState将变为DONE,并且将调用onloadend回调(如果有).那时,result属性包含文件中的原始二进制数据.

知道我在这里做错了吗?

示例代码 http://jsfiddle.net/qL86Z/3/

$("#base64Button").on("click", function () {
    var file = $("#base64File")[0].files[0]
    var reader = new FileReader();

    // callback for readAsDataURL
    reader.onload = function (encodedFile) {
        console.log("reader.onload");
        var base64Image = encodedFile.srcElement.result.split("data:image/jpeg;base64,")[1];
        var blob = new Blob([base64Image],{type:"image/jpeg"});
        var reader2 = new FileReader();

        // callback for readAsBinaryString
        reader2.onloadend = function(decoded) {
            console.log("reader2.onloadend");
            console.log(decoded); // this should contain binary format of the image

            // console.log(URL.createObjectURL(decoded.binary)); // Doesn't work
        };
        reader2.readAsBinaryString(blob);

        // console.log(URL.createObjectURL(atob(base64Image))); // Doesn't work

    };
    reader.readAsDataURL(file); …
Run Code Online (Sandbox Code Playgroud)

javascript fileapi

8
推荐指数
1
解决办法
3万
查看次数

使用FileAPI下载生成的大数据文件

JavaScript进程生成大量数据(200-300MB).我想保存这些数据以供进一步分析,但到目前为止我发现的最好的是保存使用这个例子http://jsfiddle.net/c2U2T/这对我来说不是一个选项,因为看起来它需要所有数据开始下载之前可用.但我需要的是类似的东西

var saver = new Saver();
saver.save(); // The Save As ... dialog appears
saver.onaccepted = function () { // user accepted saving
    for (var i = 0; i < 1000000; i++) {
        saver.write(Math.random());
    }
};
Run Code Online (Sandbox Code Playgroud)

当然,而不是Math.random()将是一些有意义的构造.

javascript fileapi

8
推荐指数
1
解决办法
940
查看次数

访问File对象的某些列出属性时返回"undefined"

我似乎无法访问我的对象的宽度或高度键.

我正在使用dropzone.js,它有一个addFile事件,它返回文件和第一个参数.

所以:

var myDropzone = new Dropzone('#dropzone', {url: '/'});

myDropzone.on('addedFile', function(file) {
    console.log(file);
});
Run Code Online (Sandbox Code Playgroud)

回调工作得很好,在我的控制台中我看到: 在此输入图像描述

如您所见,显然有高度和宽度键可用.

myDropzone.on('addedFile', function(file) {
    console.log(file.name); // returns the whole strong
    console.log(file.width); // returns undefined
    console.log(file['width']);  // returns undefined
});
Run Code Online (Sandbox Code Playgroud)

继承人截图:

在此输入图像描述

我的问题是,为什么名称可用,但不是宽度或高度?是因为他们是只读还是什么?如果是这样的话,甚至可以访问它吗?

javascript jquery fileapi dropzone.js

8
推荐指数
2
解决办法
3267
查看次数

HTML5 FileApi + FileReader - 使用SWF提供<object>

我想使用HTML5 FileApi将SWF读取到OBJECT(或者EMBED,如果它更好吗?).

我当前的代码在Chrome/Iron(唯一支持xmlhttprequest v2 FormData的稳定浏览器)上崩溃了.我得到它将图像数据读入即时创建的IMG.但是对象会崩溃浏览器中的当前选项卡.

else if (file.type == "application/x-shockwave-flash") {
    var show = document.createElement("object");
    show.type = "application/x-shockwave-flash"
    show.style.width = "100%";
    show.style.height = "100%";
    show.id = "thumb";
    document.getElementById("thumbnails").appendChild(show);

    var reader = new FileReader();
    reader.onload = (function (aImg) { 
        return function (e) { aImg.data = e.target.result; }; 
    })(show);
    reader.readAsDataURL(file);
Run Code Online (Sandbox Code Playgroud)

我真的读过这object.data部分吗?怎么做对了?有人知道吗?或者这是不完整的,我必须等待更好的实施?

javascript html5 fileapi

7
推荐指数
1
解决办法
1168
查看次数

禁用将文件系统映像拖动到浏览器中.

我正在试验HTML5文件API.但是我注意到,如果将图像拖到浏览器中,浏览器会有一个默认行为,即显示图像.但是,如果您的目标是上传图像而不是查看图像,这可能会很烦人.

我想知道是否有办法防止这种行为?我已经在ondrop事件上尝试了stopPropagation/preventDefault,但有一点工作,但是留下了"drop"光标,给人的印象是图像可以放在页面的任何地方.

理想情况下,您只能在要删除图像的指定区域看到"拖放"光标.

javascript html5 drag-and-drop fileapi

7
推荐指数
1
解决办法
2576
查看次数

三星电视视频缓存使用HTML5和JS

我必须开发一个三星电视应用程序来播放从远程服务器提供的视频,这是我无法访问的.

其实我已经制作了一个应用程序来播放我自己的服务器的视频.但我目前的要求如下:

  1. 我想播放从我无法访问的远程主机(例如//remote.com/video_id)提供的视频,但我的电视应用程序已连接到我的服务器(例如//myserver.com/samsungapp)
  2. 我必须在播放之前将文件缓存在我的三星电视上.即,缓冲100%,然后播放

我检查FileApiFileReader使用HTML5和JS,并提出以下障碍:

很难从Javascript发送跨域请求.由于我无法访问远程主机,因此无法设置access-control-origin远程服务器的响应.

任何建议都表示赞赏......

javascript html5 html5-video fileapi samsung-smart-tv

7
推荐指数
1
解决办法
1425
查看次数

如何将UTF-8或Base64数据写入Phonegap中本地存储(sdcard)上的文件(jpg/doc/pdf)

我从API获取字节数组,如var byteArr = [12,-123,43,99,...],然后我将其转换为UTF-8字符串

     var utf8_str = String.fromCharCode.apply([], new Uint8Array(byteArr));
Run Code Online (Sandbox Code Playgroud)

然后将UTF-8字符串转换为Base64字符串

      var base64_str= window.btoa(utf8_str);
Run Code Online (Sandbox Code Playgroud)

现在我在Phonegap中通过FileWriter将UTF-8或Base64字符串写入文件(xyz.pdf/xyz.jpg),但是在打开它时会显示空白文件.

function gotWriteFile(dirEntry) {

   dirEntry.getFile(FILE_NAME, {create: true, exclusive: false}, gotFileWriteEntry,  failWrite);
}

function gotFileWriteEntry(fileEntry) {

fileEntry.createWriter(gotFileWriter, failWrite);
}

function gotFileWriter(writer) {

 writer.onwriteend = function(evt) {
        console.log("File write successfully....");
        hideModal();
    };
    writer.write(utf8_str);
    //writer.write(base64_str);
 }
Run Code Online (Sandbox Code Playgroud)

什么是解决方案的家伙......?

javascript fileapi cordova

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

如何在 JavaScript 浏览器中检查 pdf 文件是否为 US Legal 或 US Letter 格式

我在浏览器中运行。我有FileJavaScript 文件类型)类型application/pdf。我想检查 pdf 的格式是否为 US Letter(8.5 英寸 x 11 英寸)或 US Legal(8.5 英寸 x 14 英寸)(横向或纵向)。

我查看了jsPDF,虽然以编程方式创建 pdf 文档看起来很棒(这对于测试会派上用场),但我无法找到一种方法来使用它来解析现有 PDF 文件获取有关文档的信息(例如页面格式和方向)。

任何有助于实现我的目标的帮助都将受到赞赏,无论是使用jsPDF、另一个库还是普通 JS。

javascript browser pdf fileapi jspdf

7
推荐指数
1
解决办法
434
查看次数

IE和本地文件读取

我刚看过mozilla File API文件读取为

new FileReader();
Run Code Online (Sandbox Code Playgroud)

我必须要问IE是否有类似的东西?

javascript internet-explorer fileapi

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

您可以在没有html文件输入的情况下创建Javascript文件列表或File对象吗

我正在创建一个使用sql.js加载sqlite数据库,添加一些过滤器并查询数据并显示各种基于d3的图表的脱机javascript应用程序。但是,我的用户不想被数据库内容和拥有数据库文件所困扰。我想在页面加载时加载文件。

<input id="inpLoadDB" type="file" onchange="loadDB()">
Run Code Online (Sandbox Code Playgroud)

当我查询该元素时,它将返回一个FileList对象,从中可以获取所选文件。如何在不包含HTML元素的情况下构建FileList(或仅文件对象)。就像是:

var fl=new FileList();
fl.readDir("./data/");
Run Code Online (Sandbox Code Playgroud)

html javascript fileapi

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