标签: fileapi

如何在javascript中将dataURL转换为文件对象?

我需要在Javascript中将dataURL转换为File对象,以便使用AJAX将其发送出去.可能吗?如果是,请告诉我如何.

javascript jquery fileapi

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

将base64 png数据转换为javascript文件对象

我有两个base64用PNG编码,我需要使用Resemble.JS进行比较

我认为最好的方法是使用转换PNG为文件对象fileReader.我该怎么做?

javascript base64 fileapi

36
推荐指数
3
解决办法
9万
查看次数

在IE 8/9中回退FormData

在IE 8/9中不存在FormData,但我需要在这些浏览器中使用该功能.这有一个很好的后备吗?

我会尝试发送json数据,但我需要将文件传递给服务器.我将此文件附加到formData现代浏览器中,只需提交XHR请求即可.因为FormData在IE 8/9中不存在,这显然是失败的.

// I cant seem to get this to work with a file.
$.ajax({
    url: '/genericHandlers/UploadDocsFile.ashx',
    type: "POST",
    data: model.toJSON(),
    contentType: 'application/json'
    }).done(function  (data) { 
       log('stuff happened!');
    });
Run Code Online (Sandbox Code Playgroud)

也许另一种方法是在js中创建一个假的表单对象然后将数据附加到那个?

javascript ajax xmlhttprequest fileapi

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

在filereader异步加载文件后获取文件名

我正在一个目录中加载几个文件来解析它们中的一些数据.这到目前为止工作得很好,但我想知道我正在看的文件.所以我需要加载后的文件名.有人可以提供帮助吗?

//获取dir中的所有文件

function updateData(){
  var dirReader = approot.createReader();

  var fail =failCB('Error - Directory for parsing failed to open'); // logs fail...
  dirReader.readEntries(parseData,fail); 
}
Run Code Online (Sandbox Code Playgroud)

//加载每个文件

function parseData(entries){
  var i;
  for (i=0; i<entries.length; i++) {
    var reader = new FileReader();
    reader.onloadend = createListItem;
    reader.readAsText(entries[i]);
  }
}
Run Code Online (Sandbox Code Playgroud)

//这里我想知道这个名字!!!!

function createListItem(evt){
    // it gives me all the loaded data. But based on wich file it was, i would like to handle it!
  console.log(evt.target.result)
    // lets say something like this
    $('#content').find(   file.name   ).append(evt.target.result);
  }
} …
Run Code Online (Sandbox Code Playgroud)

javascript android fileapi cordova

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

HTML5文件API:如何查看readAsText()的结果

readAsText()完成功能结果存储在.result

如何查看读取的文件内容是否正确.result

 fr = new FileReader();
 fr.readAsText(file);
 var x = fr.result;
 console.log(x); //does not display anything on console
Run Code Online (Sandbox Code Playgroud)

现在如何显示.result对象以验证内容?

javascript html5 fileapi

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

如何在FileList对象中设置File对象和length属性,其中文件也反映在FormData对象中?

可以将元素的.files属性设置为例如来自不同的元素属性或属性.请参阅Make .files settable#2866,将文件上传到HTML表单并提交之间会发生什么?.<input type="file">FileList<input type="file">.filesDataTransfer.files

FileList对象有一个Symbol.iterator属性,我们可以使用它来设置一个File可迭代的对象,但是.files .length仍然设置为0并传递一个<form><input type="file">用于.files使用上述方法设置的集合,产生一个设置为的File对象..size0

如何设置Fileat FileList和set设置.lengthFileList文件数,文件在FormData()object 设置的位置?

const input = document.createElement("input");

const form = document.createElement("form");

const [...data] = [
  new File(["a"], "a.txt")
, new File(["b"], "b.txt")
];

input.type = "file";

input.name = "files";

input.multiple = true;
// …
Run Code Online (Sandbox Code Playgroud)

javascript form-data filelist fileapi

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

HTML5 File API从服务器下载文件并将其保存在沙箱中

我正在尝试理解HTML5 API.我正在设计Web应用程序,浏览器客户端需要从服务器下载多个文件; 用户将对下载的文件和应用程序执行某些操作,而不是需要在用户上保存状态.我知道浏览器只能将这些文件保存到它的沙盒中,只要用户可以在第二次启动应用程序时检索这些文件就可以了.我应该使用BlobBuilder还是FileSaver?我在这里有点失落.

html5 blob fileapi filesaver.js

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

使用WebSocket上传大文件

我正在尝试使用WebSocket API上传大文件(至少500MB,最好是几GB).问题是我无法弄清楚如何编写"发送此文件的片段,释放使用的资源然后重复".我希望我可以避免使用像Flash/Silverlight这样的东西.

目前,我正在开展以下工作:

function FileSlicer(file) {
    // randomly picked 1MB slices,
    // I don't think this size is important for this experiment
    this.sliceSize = 1024*1024;  
    this.slices = Math.ceil(file.size / this.sliceSize);

    this.currentSlice = 0;

    this.getNextSlice = function() {
        var start = this.currentSlice * this.sliceSize;
        var end = Math.min((this.currentSlice+1) * this.sliceSize, file.size);
        ++this.currentSlice;

        return file.slice(start, end);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我会上传使用:

function Uploader(url, file) {
    var fs = new FileSlicer(file);
    var socket = new WebSocket(url);

    socket.onopen = function() {
        for(var i = 0; i …
Run Code Online (Sandbox Code Playgroud)

javascript html5 large-files websocket fileapi

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

一次一个地使用Javascript FileReader API读取多个文件

我正在使用FileReader API来读取多个文件.

<html> <body>
    <input type="file" id="filesx" name="filesx[]"
      onchange="readmultifiles(this.files)" multiple=""/>
    <div id="bag"><ul/></div>
<script>
window.onload = function() {
    if (typeof window.FileReader !== 'function') {
        alert("The file API isn't supported on this browser yet.");
    }
}

function readmultifiles(files) {
    var ul = document.querySelector("#bag>ul");
    while (ul.hasChildNodes()) {
        ul.removeChild(ul.firstChild);
    }

    function setup_reader(file) {
        var name = file.name;
        var reader = new FileReader();
        reader.onload = function(e) {
            var bin = e.target.result; //get file content

            // do sth with text

            var li = document.createElement("li");
            li.innerHTML …
Run Code Online (Sandbox Code Playgroud)

javascript html5 filereader fileapi

21
推荐指数
4
解决办法
3万
查看次数

通过input type = file获取字节数组

var profileImage = fileInputInByteArray;

$.ajax({
  url: 'abc.com/',
  type: 'POST',
  dataType: 'json',
  data: {
     // Other data
     ProfileImage: profileimage
     // Other data
  },
  success: {
  }
})

// Code in WebAPI
[HttpPost]
public HttpResponseMessage UpdateProfile([FromUri]UpdateProfileModel response) {
  //...
  return response;
}

public class UpdateProfileModel {
  // ...
  public byte[] ProfileImage {get ;set; }
  // ...
}
Run Code Online (Sandbox Code Playgroud)
<input type="file" id="inputFile" />
Run Code Online (Sandbox Code Playgroud)

我正在使用ajax调用将输入类型=文件输入的byte []值发布到以apip []格式接收的web api.但是,我遇到了获取字节数组的困难.我希望我们可以通过File API获取字节数组.

注意:在通过ajax调用之前,我需要先将字节数组存储在变量中

html javascript html5 fileapi

21
推荐指数
4
解决办法
11万
查看次数