【问题标题】:How to convert a file path to a blob object?如何将文件路径转换为 ​​blob 对象?
【发布时间】:2018-09-06 16:25:51
【问题描述】:

我有一个字符串,它是我系统上文件的路径(例如:/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);
            });

这样做的方法是什么。

【问题讨论】:

  • 带有文件输入?
  • 我刚刚更新了我的问题并添加了一个工作代码 sn-p
  • @Phantom007 我认为没有人对您的要求感到困惑。
  • @PatrickRoberts 有什么解决方法?无论如何我可以将文件路径转换为 ​​blob?
  • @Phantom007 阅读答案。没有。

标签: javascript forms


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2017-10-08
    相关资源
    最近更新 更多