美文网首页
Electron读取clipboard中中文名称文件

Electron读取clipboard中中文名称文件

作者: charles0427 | 来源:发表于2018-05-24 11:55 被阅读751次

Electron在clipboard读取文件这块的API不够清晰,之前针对windows和mac分别采用以下两种方法:

// windows
const rawFilePath = clipboard.read('FileNameW');
let filePath = rawFilePath.replace(new RegExp(String.fromCharCode(0), 'g'), '');

// mac
filePath = clipboard.read('public.file-url').replace('file://', '');

mac没有什么问题,windows在读取含有中文名称时,路径格式会有问题。解决方法参考issue:

https://github.com/electron/electron/issues/12141

const rawFilePath = clipboard.readBuffer('FileNameW').toString('ucs2');
let filePath = rawFilePath.replace(new RegExp(String.fromCharCode(0), 'g'), '');

注意,rawFilePath默认最后会有\u0000,需要将其剔除;

相关文章

网友评论

      本文标题:Electron读取clipboard中中文名称文件

      本文链接:https://www.haomeiwen.com/subject/hfzjjftx.html