从剪贴板中提取文件或粘贴本地文件
Extract files from clipboard OR paste local files
- 如何从用户的剪贴板中获取文件。
在写这个答案之前,我尝试了很多事情,比如从 new File('file:///asdasd.jpg')
读取,为 <input type='file' />
提供默认值,发送获取请求和获取 blob。
None 这些解决方案似乎有效(Chrome - 2021 年 6 月 14 日)
处理这个问题的简单方法:
- 在文档
上收听 paste
事件
- 提取文件
- 从
fileList
创建数组
document.addEventListener('paste', (event) => {
const clipboardData = (event.clipboardData || window.clipboardData);
const files = Array.from(clipboardData.files);
if (files.length > 0) {
// Do something with `files`
}
});
- 如何从用户的剪贴板中获取文件。
在写这个答案之前,我尝试了很多事情,比如从 new File('file:///asdasd.jpg')
读取,为 <input type='file' />
提供默认值,发送获取请求和获取 blob。
None 这些解决方案似乎有效(Chrome - 2021 年 6 月 14 日)
处理这个问题的简单方法:
- 在文档 上收听
- 提取文件
- 从
fileList
创建数组
paste
事件
document.addEventListener('paste', (event) => {
const clipboardData = (event.clipboardData || window.clipboardData);
const files = Array.from(clipboardData.files);
if (files.length > 0) {
// Do something with `files`
}
});