首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Arraybuffer不能输入string,Angular。我正在尝试在页面上显示上传的图片

ArrayBuffer是一种用于在JavaScript中处理二进制数据的对象类型。它通常用于处理音频、视频、图像等多媒体数据。然而,ArrayBuffer本身不能直接接受字符串作为输入,因为它只能处理二进制数据。要在页面上显示上传的图片,你需要将字符串转换为二进制数据,然后将其加载到ArrayBuffer中。

在前端开发中,可以使用FileReader对象将文件读取为字符串或二进制数据。可以通过以下步骤在页面上显示上传的图片:

  1. 监听文件上传事件,获取上传的图片文件。
  2. 创建一个新的FileReader对象。
  3. 使用FileReader的readAsArrayBuffer方法将上传的文件读取为ArrayBuffer。
  4. 监听FileReader的load事件,在事件回调函数中获取读取的ArrayBuffer数据。
  5. 使用获取到的ArrayBuffer数据进行进一步处理,如创建一个新的Image对象。
  6. 将Image对象插入到页面中,从而显示上传的图片。

以下是使用Angular框架进行前端开发的示例代码:

  1. 在HTML模板文件中,添加一个文件上传输入框:
代码语言:txt
复制
<input type="file" (change)="onFileSelected($event)" accept="image/*">
  1. 在组件的Typescript文件中,添加文件选择事件处理方法:
代码语言:txt
复制
onFileSelected(event: any): void {
  const file: File = event.target.files[0];
  if (file) {
    this.displayImage(file);
  }
}
  1. 实现显示上传图片的方法:
代码语言:txt
复制
displayImage(file: File): void {
  const reader = new FileReader();
  reader.onload = (event: any) => {
    const arrayBuffer: ArrayBuffer = event.target.result;
    // 进一步处理ArrayBuffer,如创建Image对象并插入到页面中
    const img = new Image();
    img.src = URL.createObjectURL(new Blob([arrayBuffer]));
    document.body.appendChild(img);
  };
  reader.readAsArrayBuffer(file);
}

这样,当用户选择上传的图片后,图片将会被读取为ArrayBuffer并显示在页面上。

腾讯云提供了一系列云服务和产品,用于支持云计算和前端开发。其中,腾讯云对象存储(COS)可以用于存储和管理上传的图片文件,可以通过以下链接了解更多信息:腾讯云对象存储(COS)

请注意,以上示例代码仅为演示目的,实际开发中可能需要根据具体情况进行适当修改和调整。同时,我将尽力提供最佳答案,但并不能保证答案的完整性和全面性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

记录下:订单模块初步完成

我想不出我会干什么耶,我只有确定的一件事情就是我会全国各地跑一遍 装饰器教程 Based on vue3.0.0, vant3.0.0, vue-router v4.0.0-0, vuex^4.0.0-...入门辅助教程(五)——Observable(可观察对象) RXJS教程 RxJS——给你如丝一般顺滑的编程体验(篇幅较长,建议收藏) 动画学习 rxjs 有人开源躺平 开源躺平 Angular 笔记 Angular...,需要刷新页面 资源共享的功能 打印机打印的问题 拖拽插件 添加小标签问题 小类,大类一般是怎么添加的 研究三级联动组件 环境配置问题,提取公共的 url 上传组件需要添加loading状态 图片需要懒加载...vue中的图片加载与显示默认图片 vue项目设置img标签的默认图片 基于阿里Ant Design of Vue的上传组件二次封装 301 logout 重定向到登录页面 提取 store 几个组件到一个...,规格添加页面 今天对接规格创建,添加,修改 今晚把基本商品添加页,图片上传基本信息,搞完 今晚处理,单规格,多规格问题 多规格表格上传,删除处理要回现处理规格,单规格(6-8) 分类也要点击弹框,可以修改添加

89910

【总结】1941- 上传、下载终极解决方案:切片!!!

当用户选择文件时,通过 FileReader 将文件内容读取为 ArrayBuffer,然后将 ArrayBuffer 转换为十六进制字符串,并将结果显示在页面上。...例如,对于文本文件,可以直接将其内容显示在页面的文本框或区域中;对于图片文件,可以使用 标签展示图片;对于音视频文件,可以使用 或 标签来播放。...Blob对象 和 ArrayBuffer是处理二进制数据的重要工具。而FileReader则是读取文件内容的的关键组件。通过这些技术,我们可以方便的在前端页面上进行操作或者文件展示。...显示下载进度和完成状态 为了显示下载进度和完成状态,可以在客户端实现以下功能: 显示进度条:客户端可以通过监听每个切片的下载进度来计算整体下载进度,并实时更新进度条的显示。...图片/视频上传和预览: 图片上传和预览:在图片上传场景中,用户可以选择多张图片进行上传。通过切片上传,可以加快图片上传速度,并实时显示上传进度。

39410
  • H5上传文件又双叒叕开测了!

    需求背景:为了方便用户上传自己手机内的本地视频,同时提高视频的分发量,故支持在移动端H5页面增加上传视频、音乐、图片。 原型图: 1.首页&上传素材空页面: ? ?...; 4.在其他页点击logo,返回H5首页,在H5首页点击logo,仍在H5首页; 上传素材: 一、H5与PC端的素材同步关系: 1.H5上传的素材页面只显示通过H5上传的素材,PC上传的素材不同步至H5...,封面上标注“图片”字样,右侧展示图片标题,上传时间,文件大小; (2)图片获取不到封面时,用默认图代替; (3)上传图片的文件标题显示两行,超过两行显示不下用...表示; (4)图片文件支持gif、jpeg...; 博文(必填): 1.输入视频标题,不输入博文即点击“分享”按钮,以红色字提示“博文不能为空”; 2.博文字数不做限制,当博文填写栏输入的内容增多,输入框向下键入,支持上下滑动页面进行查看; 3.博文内容支持输入表情...显示分享进度,并提示“加载中,请稍后”,分享完成后toast提示“分享成功”,在PC-我的分发记录中可查看分发记录及分发状态; 2.成功分发后,分发的视频应支持播放,视频博文显示正常,可正常浏览和转发等操作

    1.7K20

    【前端知乎】445- File FileList 和 FileReader 对象详解

    本文首发在我的【个人博客】www.pingan8787.com 更多丰富的前端学习资料,可以查看我的 Github: 《Leo-JavaScript》https://github.com/pingan8787...File 对象、FileList 对象与 FileReader 对象大家或许不太陌生,常见于文件上传下载操作处理(如处理图片上传预览,读取文件内容,监控文件上传进度等问题)。...最常见的使用场合是表单的文件上传控件,用户在一个 元素上选择文件后,浏览器会生成一个数组,里面是每一个用户选中的文件,它们都是 File 实例对象。...只读 共有三种状态: 0 : EMPTY,表示尚未加载任何数据;1 : LOADING,表示数据正在加载;2 : DONE,表示加载完成; FileReader.result 读取完成后的文件内容。...对于图片文件,这个字符串可以用于元素的 src 属性。注意,这个字符串不能直接进行 Base64 解码,必须把前缀 data:*/*;base64 ,从字符串里删除以后,再进行解码。

    1.6K30

    HarmonyOS 开发实践——基于webview的Picker拉起

    场景描述在webview中拉起文件管理器,图库以及相机。场景一:在web页面实现文件和图片上传。...场景二:在web页面拉起摄像头,实现拍照上传方案描述场景一本地h5页面内picker拉起效果图在web页面实现picker拉起文件管理器。在web页面实现picker拉起图库。...事件响应用户在h5侧写入的“选择文件”按钮,并使用图库选择器对象PhotoViewPicker的select方法,通过选择模式拉起photoPicker界面选择图片。...页面拉起摄像头,实现拍照上传效果图方案调用web的onShowFileSelector事件响应用户在h5侧写入的“选择文件”按钮,先通过getContext接口获取Context上下文,返回的Context...128)  fs.readSync(fd,arr)  console.log("testTag - " + str);})以上两种场景的h5页面可以通用,都可以用一个上传文件的input框来拉起。

    12010

    【前端知乎系列】ArrayBuffer 和 Blob 对象

    [ArrayBufferAndBlob.png] 本文首发在我的【个人博客】 更多丰富的前端学习资料,可以查看我的 Github: 《Leo-JavaScript》,内容涵盖数据结构与算法、HTTP、Hybrid...、面试题、React、Angular、TypeScript和Webpack等等。...点个 Star 不迷路~ ArrayBuffer 对象与 Blob 对象大家或许不太陌生,常见于文件上传操作处理(如处理图片上传预览等问题)。 那么本文将与大家深入介绍两者。...概念介绍 ArrayBuffer 对象代表储存二进制数据的一段内存,它不能直接读写,只能通过视图(TypedArray视图和DataView视图)来读写,视图的作用是以指定格式解读二进制数据。...出于安全考虑,浏览器不允许脚本自行设置这个控件的 value 属性,即文件必须是用户手动选取的,不能是脚本指定的。一旦用户选好了文件,脚本就可以读取这个文件。

    1.9K00

    【Web技术】423- 在前端 Word 还能这样玩

    一、背景概述 前阵子听到公司运营的小姐姐们在抱怨,说在富文本编辑器中发布包含图片的 Word 文档时,图片和文本内容不能一起复制,每次她们都得分开处理,对于包含较多图片的 Word 时,她们处理起来很抓狂...这里我已经提前准备了一个包含图片和文本的 word2html.docx 文件,然后复制一份重命名为 word2html.rar。看到 rar 后缀相信你已经猜到了,下一步我们要执行解压操作。...经过本人认真观察后发现,在解压后 Word 文档中包含的图片会被保存到 word/media 目录下。而我们要解决的问题就是能识别到 Word 文档中的图片,然后自动上传到文件资源服务器。...= loadEvent.target["result"]; callback(arrayBuffer); }; reader.readAsArrayBuffer(file);} 该方法用于实现把输入的...当然,期间也尝试了国外在线的图片格式化服务和网上一些大佬提供的格式化方案,可惜的是最终的效果都不好,所以对于这种特殊的图片格式目前的解决方案就是让用户手动上传对应原始图片,如果小伙伴们有好的方案,欢迎给我留言哟

    3K30

    构建具有用户身份认证的 Ionic 应用

    我喜欢使用 Ionic,我发现使用 Ionic 移植现有的应用程序更多的就是修改 HTML 和调整 CSS。 Ionic 2 在 一月份发布, 可以使用 Angular 开发 Ionic 应用。...下载 这张图片,将它拷贝到 src/assets/image/okta.png,在 login.html 的 标签中添加以下代码。...你可以退出之后看一下带标识的登录页。 ? 注意: 你可能注意到退出之后标签页并没有消失。我正在查找 没有正常工作 的原因。 发布到移动设备 使用 Ionic 在浏览器中开发移动应用是非常酷的事情。...当出现提示时输入 "y",按回车。 TIP: 我发现在模拟器中运行应用程序时的最大问题是键盘很难弹出。...为了解决这一问题,当我需要在输入框输入文本时,我使用 Hardware > Keyboard > Toggle Software Keyboard 。 如果你在登录页输入凭证,可能什么也不会发生。

    23.3K50

    构建具有用户身份认证的 Ionic 应用

    我喜欢使用 Ionic,我发现使用 Ionic 移植现有的应用程序更多的就是修改 HTML 和调整 CSS。 Ionic 2 在 一月份发布, 可以使用 Angular 开发 Ionic 应用。...下载 这张图片,将它拷贝到 src/assets/image/okta.png,在 login.html 的 标签中添加以下代码。...你可以退出之后看一下带标识的登录页。 ? 注意: 你可能注意到退出之后标签页并没有消失。我正在查找 没有正常工作 的原因。 发布到移动设备 使用 Ionic 在浏览器中开发移动应用是非常酷的事情。...当出现提示时输入 "y",按回车。 TIP: 我发现在模拟器中运行应用程序时的最大问题是键盘很难弹出。...为了解决这一问题,当我需要在输入框输入文本时,我使用 Hardware > Keyboard > Toggle Software Keyboard 。 如果你在登录页输入凭证,可能什么也不会发生。

    23.8K00

    在前端 Word 还能这样玩

    一、背景概述 前阵子听到公司运营的小姐姐们在抱怨,说在富文本编辑器中发布包含图片的 Word 文档时,图片和文本内容不能一起复制,每次她们都得分开处理,对于包含较多图片的 Word 时,她们处理起来很抓狂...这里我已经提前准备了一个包含图片和文本的 word2html.docx 文件,然后复制一份重命名为 word2html.rar。看到 rar 后缀相信你已经猜到了,下一步我们要执行解压操作。...经过本人认真观察后发现,在解压后 Word 文档中包含的图片会被保存到 word/media 目录下。而我们要解决的问题就是能识别到 Word 文档中的图片,然后自动上传到文件资源服务器。...= loadEvent.target["result"]; callback(arrayBuffer); }; reader.readAsArrayBuffer(file); } 该方法用于实现把输入的...当然,期间也尝试了国外在线的图片格式化服务和网上一些大佬提供的格式化方案,可惜的是最终的效果都不好,所以对于这种特殊的图片格式目前的解决方案就是让用户手动上传对应原始图片,如果小伙伴们有好的方案,欢迎给我留言哟

    3K30

    ASP.NET WEB——项目创建与文件上传操作

    添加密码双次输入验证 文件上传 前言 ASP.NET WEB是一门非常简单的课程内容,我们大概用三章的内容来包含所有的知识点,三章分为 1、ASP.NET WEB项目创建与文件上传操作 2、ASP.NET...创建自定义Web窗体 1、在项目上点击【鼠标右键】,注意,这里一定是在项目上,否则你找不到添加【Web窗体】的选项。...2、【添加】->【Web窗体】 3、输入窗体名称,我们这里先输入一个【Login】做测试 创建一个登陆页面 创建的窗体实际上是多个文件 我们在页面上进行绘制操作,在后台cs文件中写对应的控制函数。.../> 项目中创建保存图片文件夹【imgs】 创建效果: 后台代码: /// /// 上传文件 /// /// </...; //保存图片 this.file.SaveAs(saveUrl); //显示图片 this.showImg.ImageUrl = "/imgs/" + newFileName

    1.7K20

    Nest + Sharp 实现了一个 gif 压缩工具,帮我省不少钱

    不知道大家有没有场景会需要 GIF 压缩,我是经常会用到。 因为公众号的图片最大支持 10M,但是我录制出来的 GIF 经常超过 10M。...于是我在百度搜素 GIF 压缩,就找到了一个工具: 它确实能解决我的问题: 但是要花钱: 一年 148 呢,对一个小工具来说还是挺贵的。 但没办法,这对我是刚需,总不能不发文章了吧。...当时我的心情是这样的: 这个 npm 包就是 sharp,它是用来处理各种图片的: 它可以用来调整图片的大小,对图片做旋转、颜色调整、合成图片等。...然后我们改下前端代码的上传接口: 测试下上传: 提示文件上传成功了,然后在服务端控制台也打印了文件信息,并且在 uploads 目录下可以看到这个文件: 这些文件在浏览器打开,可以看到就是上传的...gif: 然后我们把文件路径返回就好了: 现在上传文件成功之后就可以拿到这个文件在服务端的路径了: 然后我们再实现下压缩,在 AppController 增加一个接口: @Get('compression

    40920

    从图片裁剪来聊聊前端二进制

    功能虽然实现了,但其实我是似懂非懂的~ ? 紧接着 一个不那么简单的需求 没过几天,产品又给我提了一个需求:图片裁剪上传及预览。...经过了一番学习,我发现这些都属于前端二进制的知识范畴,所以在搞业务前,我准备先把涉及到的前端二进制梳理一遍,正所谓:底层基础决定上层建筑嘛 ? ?...对象,来看下定义: ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区.ArrayBuffer 不能直接操作,而是要通过类型数组对象或 DataView 对象来操作,它们会将缓冲区中的数据表示为特定的格式...下面让我们回到文章开头提到的那个产品的“没那么简单”的新需求:图片裁剪上传及预览。 其实,像图片裁剪上传这种社区已经有非常成熟的解决方案了,如vue-cropper[4]。...3、裁剪图片。 4、读取裁剪后的图片预览并上传。 获取文件并读取文件 首先来看下上面第一步提到的获取文件。

    1.6K20

    移动商城第三篇(商品管理)【查询商品、添加商品】

    在页面上我们可以发现到4个查询条件: ?...这里写图片描述 ---- 设置默认的上架状态 ? 这里写图片描述 在我们的页面上,是没有原始的上架状态的。...这里写图片描述 基本信息 在基本信息的选项卡中,还是需要我们查询所有的品牌数据,在页面上给用户选择: <option value...(fileInputName); //上传文件的名字是不能相同的,因此我们设置一下文件的名称 String fileName = new SimpleDateFormat...这样做的好处是,如果查询条件改变了,默认的页数是1,而当我们点击上一页下一页的时候,是会把真正的当前页数传给服务器的。 对于基本信息的选项卡,图片上传都逻辑都是差不多的,我们搬过来用就行了。

    5.7K80

    Ionic3 拍照上传

    image.png camera.html,界面布局,这里主要就是三个测试button,分别对应 拍照、上传、下载功能。还有一个 标签,用于将拍照的照片显示在界面上。...以安卓设备为例,我的项目app_id是 com.xxx.aaa,那么this.file.externalApplicationStorageDirectory最终代表的就是这个路径 “file:///...之后会写一篇文章专门介绍一个简单的后台接口。 测试文件上传功能,因为在测试文件上传的时候,需要访问设备的原生功能,比如读取文件,因此需要在真机上调试。可是在真机上调试会又一个问题:无法查看日志。...在上面的代码中, 在拍照完成的回调的函数中,直接调用了 this.upload() 方法,该方法负责上传文件,所以在拍照完成后,就会直接将图片上传到服务器,同时图片展示在界面。...在本例中,图片是以 base64 的形式上传的,也可以用File URL的形式上传文件。

    1K30

    一个Angular 5教程:一步一步指导实现你的第一个Angular 5应用程序

    但在基本层面上,请考虑如下这些方法:在创建组件之后立即调用构造函数,在传递给它的数据准备好并填充之前很久才调用该构造函数,而ngOnInit仅在第一个更改周期数据,因此您可以访问组件输入。...但AppComponent将在应用程序中的其他任何内容之前加载,因此我们必须认为它是整洁而小巧的。我们最好再创建一个组件来照顾存储卡片列表并将其显示在我们的页面上。...我们正在从Firebase获得观察结果。但是,我们*ngFor在CardList组件中等待对象数组,不能观察这些数组。...这里是routerOutlet,它告诉Router在当前页面上显示其内容的位置。所以,结合这些,我们现在在每个页面上都有菜单,以及具有不同内容的两个页面: ? 有关更多详细信息,请阅读路由器指南。...如果您想采取更先进的措施,请尝试使用Angular 4 Forms:由Toptaler Igor Geshoki进行嵌套和输入验证。 理解基础知识 我们为什么要使用Angular?

    42.7K10

    DOMString、Document、FormData、Blob、File、ArrayBuffer (转)

    实际上,在JavaScript中,DOMString就是String。...在实际Web应用中,Blob更多是图片二进制形式的上传与下载,虽然其可以实现几乎任意文件的二进制传输。...由于权限原因,我的个人站点无法配置Access-Control-Allow-Origin,我测试了下,新浪微博的图片是无法二进制请求的,不过我的前东家,xiaomishu.com的图片都是可以Ajax请求并...如果还觉得概念抽象,可以看下面的具体认知: 大家可能玩过神器编辑器Sublime Text, 我们随便找张图片拖进去,会发现是类似下面这样子的代码: Sublime Text以16进制的形式显示图片资源...So,ArrayBuffer就是缓冲出来的打死不动的二进制对象。 注意,ArrayBuffer本身是不能读写的,需要借助类型化数组或DataView对象来解释原始缓冲区(宰割原始二进制数据)。

    2.8K30
    领券