我正在为我的网站制作复制和粘贴功能,所以这是我的问题。当我直接从网页复制图像时,它应该正常工作(代码上的第一个if语句),但如果我试图从我自己的计算机复制图像,则获取本地路径(如else语句中的那个) )
$scope.pasteImage = function(eventPaste)
{
$scope.uploading = true;
var promises = [];
var items = (eventPaste.clipboardData || eventPaste.originalEvent.clipboardData).items;
for (var i = 0; i < items.length; i++)
{
var blob = null;
if (eventPaste.originalEvent.clipboardData.items[i].type.indexOf("image") == 0 || eventPaste.originalEvent.clipboardData.items[i] == 0)
{
blob = eventPaste.originalEvent.clipboardData.items[i].getAsFile();
}
else
{
var file = new File("file:///home/oem/testabc/vembly/source/server/images/pregnant.png")
console.log(file)
}
}
console.log(eventPaste)
console.log(blob)
var files = [blob];
uploadService.uploadMultiple(files)
}
所以,我的问题是,是否可以将该文件(否则声明)转换为blob,以便我可以在上传多个(文件)函数中使用它。
没有。
如果任何网站都可以使用JavaScript从您系统上的任何文件路径读取数据,这将是一个巨大的安全问题。