如何使以下 readAsDataURL 返回多个 readAsDataURL?

2024-04-24

此函数读取从输入字段获取的文件并返回其 dataUrls:

readAsDataURL (target) {
  // target => <input type="file" id="file">
  var reader = new FileReader()
  return new Promise(function (resolve, reject) {
    reader.onload = function (event) {
      resolve(event.target.result)
    }
    reader.readAsDataURL(target.files[0])
  })
},

如您所见,该函数仅处理单个文件。我想返回多个文件。我尝试做reader.readAsDataURL(target.files)但得到这个错误:'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'.

如何让函数返回多个dataUrl?


你有没有尝试过使用Promise.all https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise/all?您也许可以执行以下操作:

fileToDataURL(file) {
  var reader = new FileReader()
  return new Promise(function (resolve, reject) {
    reader.onload = function (event) {
      resolve(event.target.result)
    }
    reader.readAsDataURL(file)
  })
}  

readAsDataURL (target) {
  // target => <input type="file" id="file">
  var filesArray = Array.prototype.slice.call(target.files)      
  return Promise.all(filesArray.map(fileToDataURL))
}

这本质上与您设置的操作相同,但为每个操作创建一个承诺,仅在所有操作完成后才以数组形式返回结果。


我忘了你不能治疗target.files直接作为数组,所以需要先转换。为此,您可以使用:Array.prototype.slice.call(target.files)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使以下 readAsDataURL 返回多个 readAsDataURL? 的相关文章

  • Three.js - 如何翻译几何图形

    我有一个脚本 可以定位各种宽度 高度和深度的立方体 并且正在努力根据 xAxis yAxis 和 zAxis 也有所不同 将它们准确地排列起来 var geometry new THREE BoxGeometry width height
  • 将元素追加到 Angular QueryList

    有没有办法将新元素追加到 QueryList 中 例如 我有一个像这样的查询列表 ContentChildren SysColumn syscolumns QueryList
  • 未记录的 Sheet API 限制问题

    我已经看过人们遇到类似问题的帖子 但找不到明确的答案 我尝试使用以下代码行检索 264735 个插槽的二维数组 var optionalArguments majorDimension ROWS valueRenderOption FORM
  • HTML5 - 创建画布视口

    我有一个 2D 数组 宽 30 下 20 然而 视口仅绘制横向 15 和向下 10 的内容 我最初有一个这样的游戏 我一直在努力实现这样的目标 这是我的小提琴 http jsfiddle net sTr7q http jsfiddle ne
  • javascript while循环在节点和浏览器中给出不同的结果

    我正在执行以下看似简单的代码 var number 0 while number lt 12 console log number number number 2 我在浏览器和 Node 中得到不同的结果 当我在 Firefox v 32
  • 使用带有代码分割的汇总时,有什么方法可以保留包的目录结构吗?

    Context 给定这样的项目结构 src a module js b module js util js 两者都在哪里module js文件导入util js 使用以下配置 export default experimentalCodeS
  • FindAndUpdate 如何检查文档是否真的更新

    想象一下以下模型 var Office id 1 name My Office branches adddress Some street that avenue isPrincipal true adddress Another addr
  • 在 mdn web 文档中 Element.querySelector 方法说它应该是后代,但示例显示不然

    我正在从 MDN 网络文档学习 JavaScript 我刚刚在学习Element querySelector method 据记载 它返回第一个元素 该元素是调用它的元素的后代 并且与指定的选择器组匹配 但有一个例子与这个事实相矛盾 var
  • JavaScript 动态变量名称[重复]

    这个问题在这里已经有答案了 好吧 我想在用户单击时创建变量 每次单击都会添加一个新变量 我目前正在使用 jquery 和 javascript 我无法在服务器端执行此操作 这必须在浏览器中完成 newCount document getEl
  • Twitter-Typeahead 不提供建议

    我正在尝试使用twitter typeahead rails 我的目的是当我在 Typeahead 输入框中键入内容时 通过下拉框建议模型 User 的实例 但是 当我打字时什么也没有发生 有人看到我的代码有什么问题吗 Gemfile ge
  • 如何在 div 中加载页面?

    我被告知使用 Div 代替 iframe 是前进的方向 所以我使用横幅和主体中的框架 如何将我的index html加载到我的div中 你尝试过 jquery 的 load 吗 通过服务器端技术 您可以轻松地做到这一点
  • 如何最高效地更新MongoDB中的大量文档?

    我想要最有效地更新大量 gt 100 000 文档 我的第一个天真的方法是在 JS 级别上进行 编写脚本 首先获取 ids 然后循环 ids 并通过 id 调用更新 完整 文档或 set 补丁 我遇到了内存问题 还将数据分成了最大块 500
  • JavaScript:发送 POST,重定向到响应

    我有一个带有 onclick 的图像 当单击事件触发时 我想发送 HTTP POST 并将 window location 重定向到 POST 的响应 我怎样才能做到这一点 只需将按钮绑定到表单元素的提交方法 重定向就会自然发生
  • 使用 JS 或 Jquery 禁用浏览器窗口中的声音

    有没有办法禁用可能嵌入视频的浏览器窗口上的所有声音 我不是在寻找特定的解决方案 例如使用 js 等定位 Youtube 我需要一些通用的东西来关闭该页面的所有声音 这样如果任何视频播放它就没有声音 需要一些在页面级别关闭声音的东西 而不是通
  • Ember JS 过渡到嵌套路由,其中​​所有路由都是视图中的动态段

    我们正在使用 EmberJS 编写一个应用程序 然而 我们对这个框架仍然陌生 我们很难解决一些看似简单的问题 模型非常简单 有 3 个模型 Queue Task 和 Image 我们对所有路由使用动态 URI 段 并且这些模型的路由嵌套在以
  • Object.assign 方法不绑定“this”

    我正在尝试绑定this变量到一个新对象 function Parent sub component constructors this components node function this name jordan subcompone
  • Three.js - 将 WebGL 和 CSS3D 与 iFrame 混合

    我准备了一个混合的工作页面WebGL and CSS3D 在SO的一点帮助下here https stackoverflow com questions 24681170 three js properly blending css3d a
  • 什么是 Service Worker 控制台? & 它在 Chrome 浏览器中的什么位置?

    我正在研究推送通知并遇到一个陌生的术语 service worker console 我已阅读并使用过该术语console log or web console在浏览器中 但我不熟悉这个术语service worker console 之后
  • 将 JS 文件导入 Typescript

    我正在考虑转向 Typescript 目前正在考虑慢慢地 如果可能的话 逐个文件地执行此操作 现在我目前拥有的系统是用 Webpack 构建的 我想继续这个来构建我的整个包 我有一个用于定义的 d ts 文件 但我需要继续导入当前引发错误的
  • jQuery UI .buttonset() 太慢

    我的 HTML 页面上有几千个按钮 运行需要10多秒 buttonset buttonset 文件准备好 有没有更快的方法来做到这一点 或者是我以某种方式限制按钮数量的唯一解决方案 创建buttonset在第一次显示之前按需进行 我刚刚测试

随机推荐

  • 使用 pinvoke 从 UWP C# 应用程序调用 LoadLibrary

    我正在尝试从 C UWP 应用程序调用非托管 dll 中的方法 我这样做 但在非托管 dll 上调用 LoadLibrary 以便我可以使用它 这一切在调试模式下工作正常 但是在发布模式下 我收到一个奇怪的错误 消息 类初始化方法 Test
  • 高效解析个位数算术表达式

    如何有效地 优化运行时 同时保持最小空间 解析和计算 Java 中的单个数字算术表达式 以下算术表达式都是有效的 eval 5 5 eval 4 4 eval 4 4 eval 7 2 3 8 eval 5 7 12 我的方法是迭代所有元素
  • 如何在 Objective-C 中使用正则表达式验证 IP 地址?

    如何在 Objective C 中验证 IP 地址 这是一个使用现代 inet pton 的类别 它将针对有效的 IPv4 或 IPv6 字符串返回 YES include
  • 添加多列,使用多个变量进行转换

    如何添加多个变量的值 如果我只有两个变量 列 我可以简单地去 summation variable lt variable1 variable2 或者如果全部都在数据框中 transform dataframe summation col
  • iOS 上 OpenGL ES2.0 中的多纹理点精灵?

    我正在尝试使用 OpenGL ES 2 0 为 iPhone 应用程序制作多纹理点精灵 我在网上找不到任何这样的例子 而且它似乎不起作用 当对点精灵使用 GL POINTS 模式时 是否有一些内置限制使得 gl PointCoord 不能在
  • ggplot2:更改条形图上堆栈的顺序

    我正在尝试使用facet wrap制作堆叠条形图 但我希望翻转堆叠变量 开发 的顺序 我已经重新排序了这些因素 并尝试了 order descend 以及 scale fill manual 但似乎没有任何效果 这是我的代码 develop
  • C# Process.MainWindowHandle 始终返回 IntPtr 零

    这是我的代码 using Process game Process Start new ProcessStartInfo FileName DatabaseCheck exe RedirectStandardOutput true Crea
  • ListView Viewholder 复选框状态

    我的 ListView 自定义适配器 及其新实现的 viewHolder 有一些问题 我有一个 ListView 其中每个项目都有一个复选框 这里没有什么新内容 问题是 如果我的列表中有超过 9 个项目 当我选中第一个复选框时 第十个将被自
  • 在所有列上 apply() 自定义函数提高效率

    我应用这个功能 def calculate recency for one column column pd Series gt int Returns the inverse position of the last non zero v
  • 如何让Visual Studio推荐unity代码

    我一直在学习 C 和 Unity 但我遇到的一个问题是 在 Visual Studio 上编写 C 脚本时 VS 似乎总是推荐对 Unity 无用的脚本 一个例子是当我输入Vector3 它会推荐BitVector32 你不能忽略它们 就好
  • CngKeyBlobFormat 支持的实际格式是什么?

    Microsoft 页面提供了有关可使用的格式的 最少 信息CngKey 导入 https msdn microsoft com en us library bb344680 v vs 110 aspx Which actual格式实际上由
  • 创建透明渐变并将其用作 SpriteKit 中的 alpha 遮罩

    我正在尝试制作渐变并将其用作 alpha 蒙版 现在 我能够制作与此类似的图像 从黑色到透明 这是我用来实现这一切的代码 private func createImage width CGFloat height CGFloat gt CG
  • cin.get() 是非阻塞的

    我有与链接问题中提到的相同的问题 控制台窗口 在 VS 2010 中 在运行程序后立即消失 我使用 cin get 在主函数的末尾 但问题仍然存在 对可能的原因有什么想法吗 您可以查看main中的代码 int main const int
  • 如何动态地将新选项卡添加到红色选项卡面板中

    假设您有一个像这样的选项卡面板 editor layout below t tab panel 350x350 tab 1 below b button 75x25 Interpret on click do a text a area 3
  • 基于一个键将数据从 df 复制到多列中的另一个 df

    我有两个数据框 df1 和 df2 每个数据帧的唯一标识符是 ID 和 Prop Number 我需要将 df1 中的 Num1 2 和 3 列复制到 df2 1 Num 中的相应列 但我不确定如何对多个列进行合并 我想将 df2 保留为
  • 绝对中心流体div

    再会 我知道如果你想将 div 绝对居中 你可以这样做 div div blahblah div div CSS parent width 500px height 500px position absolute or relative t
  • Cordova DeviceReady 未触发

    这几天我一直在为这个问题苦苦思索 在尝试创建新的 FileTransfer 对象时出现许多 对象未定义 错误后 看起来问题更加基本 不知何故 DeviceReady 事件没有触发 Stack Overflow 在这个问题上有很多点击 但其中
  • 使用 nHibernate 序列化 DetachedCriteria

    我正在尝试序列化 DetachedCriteria 以便可以将其保存在数据库中并在以后重用相同的条件 当我运行下面的代码时 我得到 NHibernate Criterion DetachedCriteria 无法序列化 因为它没有无参数构造
  • Wagtail / Hallo.js - 添加插件但修改的内容未保存

    我正在 Wagtail 1 3 1 Django 1 7 11 上运行 我已经激活了 Hallohtml 和 Hallojustify 插件 它们出现在工具栏中 没有图标 但有按钮 可以使用按钮 并且可以在文本区域中看到修改 我的意思是 例
  • 如何使以下 readAsDataURL 返回多个 readAsDataURL?

    此函数读取从输入字段获取的文件并返回其 dataUrls readAsDataURL target target gt