我正在为我的网站使用复制和粘贴功能,所以这是我的问题。当我直接从网页上复制图像时,它应能正常工作(代码上的第一个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,以便我可以在我拥有的uploadMultiple(files)功能中使用它。

最佳答案

没有。

如果任何网站都可以使用JavaScript从您碰巧已经存在的系统上的任何文件路径中读取数据,那将是一个巨大的安全问题。

10-08 20:21