粘贴图片上传,显示剪切板中的图片

在这里插入图片描述

<van-cell-group inset><van-field@paste.native="(e) => handlePasting(e, index)"autosizeplaceholder="请将图片粘贴到此处"/>
</van-cell-group>
<div class="img-list"><divclass="img-item"v-for="(img, imgIndex) in item.fileList"><img :src="img.url" alt="" srcset="" /><divclass="img-delete"@click="handleDeleteImg(index, imgIndex)"><van-iconclass="img-delete-icon"size="16"name="cross"/></div></div>
</div>
  // 删除一张图片const handleDeleteImg = (index: number, imgIndex: number) => {form.value[index].fileList.splice(imgIndex, 1);};// 粘贴图片const handlePasting = (e: any, index: number) => {let files = e.clipboardData.files; // 获取剪切板中的文件let len = files.length; // 计算长度for (var i = 0; i < len; i++) {  //let file = files[i]; // 获取文件本身if (files[i].type.indexOf("image") !== -1) {  // 判断是否是图片类型var blobUrl = URL.createObjectURL(file);  // 通过URL.createObjectURL将文件转化为一个url 这样就可以在img标签中展示了form.value[index].fileList.push({url: blobUrl,file: file,});}}};
// 上传 直接循环刚才创建的fileList,然后把file对象使用append添加到formdata中
let fd: any = new FormData();
tpList.forEach((el: any) => {el.fileList.length &&el.fileList.forEach((e: any) => {fd.append("tp", e.file);});
});

存储图片的数据结构可根据实际需求来创建

总结

  • e.clipboardData.files
    ctrl-v(粘贴)事件e中有clipboardData.files,我们使用for循环遍历取出。
    注意:如果直接打印‘e.clipboardData’对象的话,可能会在控制台看不到具体的files,建议直接打印clipboardData.files对象。
  • URL.createObjectURL(file)
    再使用URL.createObjectURL(file)可以将file转化为url来展示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/703949.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全面提升数据采集效率:IP代理产品的应用与评估详解

全面提升数据采集效率&#xff1a;IP代理产品的应用与评估详解 文章目录 全面提升数据采集效率&#xff1a;IP代理产品的应用与评估详解背景应用场景&#xff1a;平台首页信息抓取准备评测素材详细的产品使用和评测流程产品介绍亮数据的IP代理服务亮数据的爬虫工具及采集技术 注…

信创基础硬件之整机

整机是成套或整体单机、单台形式的机电产品&#xff0c;由硬件系统(hardware system)和软件系统(software system)两部分组成的&#xff0c;包括主板、内存条、硬盘、CPU、光驱、机箱、显示器、键盘、鼠标、音响等部件。 服务器作为在网络环境下为客户机提供各种服务、特殊专用…

MySQL是如何选择索引的?

2.3.5. 索引选择 MySQL是如何选择索引的&#xff1f; 优化器决定了具体某一索引的选择&#xff0c;也就是常说的执行计划。而优化器的选择是基于成本&#xff08;cost&#xff09;&#xff0c;哪个索引的成本越低&#xff0c;优先使用哪个索引。 SQL 优化器会分析所有可能的执…

【数组的度】leetcode,python

一种很菜的做法&#xff08;暴力&#xff09;&#xff0c;for循环&#xff08;样例能过一大半呢&#xff0c;复杂度的话。。。&#xff09; class Solution:def findShortestSubArray(self, nums: List[int]) -> int:nlen(nums)if n1:return nmx1#出现次数最多的计算for i …

渲染农场是什么意思?瑞云渲染为你解答

渲染农场是一种通过集合多台计算机的计算能力来加速图像渲染过程的系统。它尤其适用于动画、电影特效和高端视觉效果的制作&#xff0c;这些领域通常需要处理非常复杂和计算密集型的渲染任务。 渲染农场就是一大群电脑&#xff0c;他们一起可以快速渲染出漂亮的图像。在做动画片…

特斯拉全自动驾驶(FSD)系统发展与解析

引言 自动驾驶技术在近年来迅猛发展&#xff0c;多家科技巨头和汽车制造商纷纷投入巨资研发&#xff0c;试图领跑这一未来出行的革命。在众多企业中&#xff0c;特斯拉的全自动驾驶&#xff08;Full Self-Driving, FSD&#xff09;系统以其独特的“纯视觉”策略脱颖而出&#…

Visual Studio Add-in开发

https://www.cnblogs.com/kekec/p/10522250.html https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2017/extensibility/vsct-xml-schema-reference?viewvs-2017 https://github.com/search?lC%2B%2B&p2&qvisualstdio&typeReposi…

从融媒到智媒,小程序框架可助力传媒企业在AI实践下的服务变现

过去5年&#xff0c;媒体行业一直都在进行着信息化建设向融媒体平台建设的转变。一些融媒体的建设演变总结如下&#xff1a; 新闻终端的端侧内容矩阵建设&#xff0c;如App新闻端&#xff0c;社交平台上的官方媒体等 新闻本地生活双旗舰客户端&#xff0c;兼顾主流媒体核心宣传…

ModuleNotFoundError: No module named ‘openpyxl‘的解决方案

问题描述&#xff1a; ModuleNotFoundError: No module named ‘openpyxl’ 这个错误表示你的 Python 环境中没有安装 openpyxl 这个模块。openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。 解决方案&#xff1a; 要解决这个问题&#xff0c;你需…

【YashanDB知识库】ycm纳管主机安装YCM-AGENT时报错“任务提交失败,无法连接主机”

问题现象 执行安装 ycm-agent 命令纳管主机时报错 问题的风险及影响 会导致 ycm-agent 纳管不成功&#xff0c;YCM 无法监控主机和数据库 问题影响的版本 yashandb-cloud-manager-23.2.1.100-linux-aarch64.tar 问题发生原因 因为 10.149.223.121 对 ycm 的主机没有开放端…

Alembic 的使用(配合一款免费云数据库MemfireDB)

已经使用 Go 开发好一段时间了&#xff0c;最近因为工作原因又重操旧业搞起了 Python&#xff0c;基于 FastAPI 进行接口开发&#xff0c;然后去找了一下相关的脚手架&#xff0c;发现这其中挺多都用到了 Alembic&#xff0c;之前没使用过&#xff0c;于是学习了一下&#xff0…

优雅谈论大模型4:初识Token

Token 在继续前行之前&#xff0c;需要先停下来澄清下Token这个词&#xff0c;以及如何将原始的语料转化为Token&#xff0c;在细究背后的原理之后会更加优雅的理解大模型。任何的资讯都可以生成语料&#xff0c;而这些语料需要被机器理解以及供后续的模型训练&#xff0c;那么…