粘贴事件检测,完整代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vue 2 Input Paste Image with File Type</title> <style> body { margin: 0; padding: 20px; font-family: Arial, sans-serif; } .input-container { margin-bottom: 20px; } .image-preview { max-width: 100%; margin-top: 20px; } </style> </head> <body> <div id="app"> <div class="input-container"> <input type="text" @paste="handlePaste" placeholder="粘贴图片到这里"> </div> <div v-if="base64Image"> <p>文件类型: {{ fileType }}</p> <p>Base64 编码的图片:</p> <img :src="base64Image" alt="Pasted Image" class="image-preview"> </div> </div> <!-- 引入 Vue 2 CDN --> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1-dev.js"></script> <script> new Vue({ el: '#app', data() { return { base64Image: null, fileType: '' }; }, methods: { handlePaste(event) { const items = event.clipboardData.items; for (let i = 0; i < items.length; i++) { const item = items[i]; if (item.type.indexOf('image') !== -1) { const file = item.getAsFile(); this.fileType = file.type; // 获取文件类型 const reader = new FileReader(); reader.onload = (e) => { this.base64Image = e.target.result; }; reader.readAsDataURL(file); break; } } } } }); </script> </body> </html>
网友回复
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?