如何将文件路径转换为Blob对象?

Pha*_*007 1 javascript forms

我有一个字符串,它是系统上文件的路径(例如:/var/www/html/country.png)

我需要使用javascript / angular6将此文件上传到服务器。但是问题是服务器接受了要作为html输入文件对象或blob发送的文件。

例如,此代码成功上传了文件

            var form = new FormData();
            form.append("filedata", $('input[type=file]')[0].files[0]);
            form.append("overwrite", "true");

            var settings = {
                "async": true,
                "crossDomain": true,
                "url": "https://www.example.com/api/upload",
                "method": "POST",
                "headers": {
                    "authorization": "Basic XXXXXXX=="
                },
                "processData": false,
                "contentType": false,
                "mimeType": "multipart/form-data",
                "data": form
            }

            $.ajax(settings).done(function (response) {
                console.log(response);
            });
Run Code Online (Sandbox Code Playgroud)

有什么办法做到这一点。

Mad*_*iha 6

如果可能的话,那将是一个巨大的安全漏洞。想象任何网站只要拥有一个字符串就能够访问文件(提示:/etc/passwd在每个Linux发行版中都位于同一位置)。

简而言之,不可能。用户必须在由打开的上载对话框中主动选择文件<input type="file" />,您无法控制此过程。