我正在开发一个ftp webapp。我创建了一切,直到上传部分,即文件已成功上传到ftpuser的目录。现在,我正在为用户提供选项,以查看按格式上传的文件。示例:如果用户单击浏览图像的图标,则应显示他们已上载的所有图像。
像“Retr”这样的命令开始下载文本和pdf以外的文件但是我想要登记所有文件而不是下载。我不知道如何做到这一点。
我正在使用Flask进行webapp和ftplib进行上传。
答案 0 :(得分:0)
根据@tdelaney提出的建议。我通过将不同的文件格式上传到ftp用户目录中的不同目录来形成解决方案。因此,当用户点击显示图像时,他在图像文件夹中显示文件的名称。以下代码如下:
if c=='images':
ftp=FTP('127.0.0.1',userid,passwd)
if not 'images' in ftp.nlst():
ftp.mkd('images')
ftp.cwd('images')
elif c=='documents':
ftp=FTP('127.0.0.1',userid,passwd)
if not 'documents' in ftp.nlst():
ftp.mkd('documents')
ftp.cwd('documents')
elif c=='audios':
ftp=FTP('127.0.0.1',userid,passwd)
if not 'audios' in ftp.nlst():
ftp.mkd('audios')
ftp.cwd('audios')
elif c=='videos':
ftp=FTP('127.0.0.1',userid,passwd)
if not 'videos' in ftp.nlst():
ftp.mkd('videos')
ftp.cwd('videos')
else:
ftp=FTP('127.0.0.1',userid,passwd)
if not 'others' in ftp.nlst():
ftp.mkd('others')
ftp.cwd('others')
files=ftp.nlst()
并进一步使用ftp.nlst()获取该目录中的文件列表,然后将其传递给模板并通过以下代码打印:
<table>
<tr>
{% for file in files %}
<td>{{file}}</td>
{% endfor %}
</tr>
</table>