【问题标题】:Can a local file be deleted by a html button( integrating html button with javascript, jquery or anything else)?可以通过 html 按钮(将 html 按钮与 javascript、jquery 或其他任何东西集成)删除本地文件吗?
【发布时间】:2022-01-03 11:05:43
【问题描述】:

我有一个显示本地目录中所有文件的 html 表。

有一个删除按钮可以删除表格的相应行。下面是代码:

    $(document).ready(function(){
     $("#myTable").on('click','.btnDelete',function(){
         $(this).closest('tr').remove();
      });
  });
<td><button type='button' class='btnDelete'>x</button></td>

但是这个按钮只会从表格中删除该行,当我刷新我的页面时,它会再次显示该文件,因为它仍然存在于工作目录中。

我想要的是从目录本身中删除文件。这样下次我刷新网页时,它就不会再显示该文件了。

这有可能实现吗?我可以使用 html 按钮从本地目录中删除文件吗?如果是,请提出建议。

附:下面是我用来创建表格的代码:

<table id="myTable" style="width:100%">
  <tr>
    <th>Select One</th>
    <th>File Name</th>
    <th>File Size</th>
    <th>File Type</th>
    <th>Remove</th>
    
  </tr>
  {% for file in files %}
    <tr>
    <td><input type="radio" name="myRadio" id="data"></td>
      <td>
      <a href="{{ (request.path + '/' if request.path != '/' else '') + file }}" id="data">
          {{ file }}
      </a>
    </td>
    <td>
          fileSize
    </td>
    <td>
      <p>pdf</p>
    </td>
    <td><button type='button' class='btnDelete'>x</button></td>
    </tr>

  {% endfor %}
</ul>
</table>

编辑 2:这是我的工作目录设置:

我在 html 表中显示的文件位于 /uploads 下。

【问题讨论】:

  • 定义“本地”。您的 php 代码可以从网络服务器中删除。然而,JavaScript 和 php 无法访问客户端文件系统(即在运行浏览器的机器上)
  • 其实我是 web 开发的新手,并且非常了解 html css js。不知道php。如果您可以提供一些使用此特定功能的参考,这将非常有帮助。谢谢。
  • 首先你需要解释更多,正如我提到的。您是否尝试从网络服务器中删除文件?如果是这样,你可以谷歌“php删除文件”开始。如果您想知道如何告诉 php 选择删除哪个文件,您需要了解表单。但不要咬得太多——如果您以前从未使用过 php,那么在尝试尝试特定任务之前,请先阅读一些介绍性教程以习惯该语言。这是最好的学习方式
  • 抱歉。起初没有得到你的评论。本地方式来自笔记本电脑。我想从笔记本电脑的 C 盘目录中删除文件到回收站。在我的 html 表中,我正在访问笔记本电脑中的本地文件夹,其中有多个文件。这些文件显示在 html 表中,如下图所示。然后我想从这个文件夹中删除文件到回收站。
  • 好的。不知道为什么你标记了php,它与python不同。但是 python 也是一种服务器端语言,所以你不会在同一个应用程序中同时使用它和 php。而且您仍然遇到同样的问题 - 在真正的 Web 应用程序中,您无法从本地文件夹中删除文件

标签: javascript python html jquery flask


【解决方案1】:

简单的HTML/Javascript网页页面无法从电脑中删除文件。想象一下,如果您访问一个网页并从您的计算机中删除文件,它会造成怎样的破坏…… 但是,如果您在同一台机器上使用 phpnodejs 运行网络服务器,则可以这样做。

如果您的目标只是从表中隐藏文件,您可以将“已删除”文件的列表存储在 localstorage 中,并在生成表的代码中对照 localstorage 数据库检查每个文件。我不熟悉您使用的模板类型,因此无法真正向您展示示例

【讨论】:

  • 我更新了我的问题,添加了关于如何获取文件并将它们列在 html 表中的代码。因此,如果您可以提供一些基本代码来在删除文件后刷新页面时从列表中隐藏已删除的文件,将会很有帮助。
  • 好的,所以你使用的不是html 和简单的javascript,而是python flask。这本质上是一个网络服务器。如果这是在本地计算机上运行的应用程序,您可能可以删除文件,但如果它是远程网页,您仍然无法访问客户端计算机上的文件。
  • 那么,是否可以将html按钮与python flask webserver连接并实现删除功能?
  • @noobmaster 是的,您可以,但正如我们多次解释的那样,您只能从服务器中删除文件。当您只是在一台机器上测试它时,服务器和本地恰好是相同的,但是如果您将应用程序部署在真实服务器上,那将无法正常工作。如果您正在寻找可以控制本地文件的应用程序,您应该考虑制作桌面应用程序而不是 Web 应用程序。
  • @noobmaster 你可以谷歌“python删除文件”开始。如果你想知道如何告诉 python 用户在浏览器中选择删除哪个文件,你需要了解 html 表单和 python/flask——同样,谷歌上有丰富的教程。我们在这里不提供免费教程,也不为此类第三方资源提供建议(请参阅help center),而且我们通常也很少需要我们代表您在搜索引擎中输入内容:-)。如果您在尝试了一些代码后遇到困难,我们可以提供帮助。
猜你喜欢
  • 2015-06-17
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-14
  • 2013-02-09
  • 2017-04-08
  • 1970-01-01
相关资源
最近更新 更多