栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从输入表单获取Base64编码的文件数据

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从输入表单获取Base64编码的文件数据

在浏览器端的javascript中完全有可能。

简单的方法:

该readAsDataURL()方法可能已经对其进行编码为base64为您服务。您可能需要删除开始的内容(直到第一个,),但这没什么大不了的。这将带走所有的乐趣。

困难的方法:

如果您想尝试一下困难的方法(或者不起作用),请参阅

readAsArrayBuffer()
。这将为您提供一个Uint8Array,您可以使用指定的方法。仅在您想弄乱数据本身(例如在上载之前处理图像数据或进行其他伏都教具魔术)时,这才可能有用。

有两种方法:

  • 转换为字符串并使用内置的
    btoa
    或类似的
    • 我还没有测试所有情况,但是对我有用-只需获取字符代码
  • 直接从Uint8Array转换为base64

我现在应该做什么:

从Uint8Array转换为字符串的代码非常简单(其中buf是Uint8Array):

function uint8ToString(buf) {    var i, length, out = '';    for (i = 0, length = buf.length; i < length; i += 1) {        out += String.fromCharCode(buf[i]);    }    return out;}

从那里开始:

var base64 = btoa(uint8ToString(yourUint8Array));

base64现在将是一个以base64编码的字符串,它应该仅上载桃子。如果要在推送之前仔细检查,请尝试以下操作:

window.open("data:application/octet-stream;base64," + base64);

这会将其下载为文件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470606.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号