【发布时间】:2020-12-31 12:27:15
【问题描述】:
我正在开发一个自包含(独立)的 HTML 表单。 在表单的一部分中,我希望能够选择 FTP 上的文件的名称。
因此,在我的 .html 文件中,我试图找到一种方法来列出 FTP 上所有文件的名称。
根据我目前所读到的内容,似乎没有传统的方法可以做到这一点,因为访问 FTP 应该使用诸如 PHP 之类的服务器端语言来完成,如 here 或 here 所解释的。
所以我想看看我是否可以用不同的方式做到这一点。 我的一个想法是将 FTP 页面上显示的内容复制到 JavaScript 变量中,如 here 所示。
我使用德国气候数据中心的 FTP 作为示例,因为它是一个开放访问的 FTP,不需要任何登录信息。
在下面的代码中,我试图将显示在该 FTP 页面上的内容放入我的 .html 文件中的 <div> 中,然后使用 console.log 显示 <div>。
但是,如下图,我到现在还没有成功:
function start_FTP() {
var server = "ftp-cdc.dwd.de/test/weather/radar/sites/sweep_vol_z/mem/hdf5/filter_polarimetric/";
var ftpsite = "ftp://" + server;
window.open(ftpsite);
document.getElementById("FTP_content").innerHTML = '<object type="text/html" data=ftpsite ></object>';
console.log(FTP_content);
}
<h2> List FTP content using JavaScript </h2>
<button type="button" id="FTP_button" name="FTP_button" onclick="start_FTP()">Select File Name</button>
<div id="FTP_content"> </div>
<div> 不包含任何有用的信息。
这只是朝着我的最终目标迈出的一步,实际上是创建一个新窗口,列出 FTP 页面上的内容,每行旁边都有一个复选框,这样用户就可以选择他想要的文件名需要。
这可以使用 JavaScript 吗? 如果没有,是否有任何其他“技巧”可用于仅使用 JavaScript 实现此目标?
编辑
我遇到的问题是我无法在服务器端做任何事情(很遗憾)。
我需要开发一个独立的 HTML 表单,该表单需要发送给许多不同的最终用户,他们需要能够“按原样”使用此表单。 这些最终用户(客户端)需要能够从可在开放访问 FTP 上看到的文件列表中选择文件名。
所以我试图复制在开放访问 FTP 页面上可见的文件名,并在每个文件名前添加一个复选框,以便最终用户可以选择对应于文件的名称(将用于进一步的数据处理)。
【问题讨论】:
-
如果没有服务器作为中间人,我认为在网页中执行大多数 FTP 功能是不可能的
-
你会考虑使用 PHP 吗?
-
我遇到的问题是我无法在服务器端做任何事情。我需要开发一个独立的 html 表单来发送给不同的最终用户,这些最终用户需要能够在上传到 FTP 的文件列表中选择他们需要的文件的名称。
-
@Ken Lee 据我了解,不可能从独立的 HTML 文件运行 PHP(需要发送给许多不同的最终用户,他们需要能够使用它“原样”)。当然,如果有一种兼容的语言,我会很乐意使用它,但到目前为止我认为还没有。由于这些原因,我一直在尝试复制 FTP 页面上显示的内容。
-
这就是我问的原因——你会考虑使用 PHP 而不是独立的 HTML。 (可能是我之前的回复太短了,抱歉)。但是,如果您使用 PHP,预计您将使用登录用户名和密码将 PHP URL 发送给您的用户,以便他们可以通过浏览器访问文件。
标签: javascript html checkbox ftp filelist