0

我想为我的本地woff文件生成一个链接。在函数的帮助下createobjectURL,创建了一个链接,但是,惩罚是以 blob 的方式。URL 生存期与创建它的窗口中的文档相关联。该 URL 仅在我的浏览器上运行,当我关闭相关选项卡时,该文件消失。所以,我试图找到一种使用 js 函数的方法,该函数创建一个指向上传本地文件的 perm 链接。目前我使用 .

   

 <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>URL.createObjectURL example</title>
    </head>
    <body>
      <input type="file">
      <file>
      <p class="p">The URL of file is : </p>
    </body>
    <script>
        var Element = document.querySelector('input');
        var file = document.querySelector('file');
        Element.addEventListener('change', function() {
          var url = URL.createObjectURL(Element.files[0]);
          file.src = url;
          console.log(url);
          var d=document.querySelector(".p");
          d.textContent+=url;
    });
    </script>
    </html>
它创建blob:https://www.example.com/123但是我需要https://www.example.com/123。我还尝试了 Base 64 编码。它可以工作,但文件大小和速度即使在压缩时也会成为一个缺点。

4

1 回答 1

0

你要求一件事,但在这里举一个例子。

我想为我的本地 woff 文件生成一个永久链接。

您无法生成 URL,file://etc/etc因为:

  • 浏览器不会向 JS 公开有关用户文件系统的信息
  • 如果你能得到这样的 URL,那么浏览器不会让网页链接到它。

对本地文件的访问受到严格限制。


我需要https://www.example.com/123

如果您希望文件在您的网站上可用:实际将其上传到网站!目前,该文件仅存在于用户的磁盘和浏览器访问的内存中。

您必须将数据发送到服务器(例如使用 Ajax POST 请求),在该服务器上您有一个 Web 服务,它读取请求、从中提取文件、将文件存储在某处、给它一个 URL,然后将 URL 发送回浏览器。

于 2022-01-29T09:04:25.233 回答