【问题标题】:How to provide link to a file using <a href> in perl?如何在 perl 中使用 <a href> 提供指向文件的链接?
【发布时间】:2018-05-22 06:00:30
【问题描述】:

我有一个 Perl CGI 脚本,它调用 HTML 表单、接受输入并处理它。

我想将生成的文件上传到同一个本地主机服务器(apache2),但在处理后,它会生成生成的文件并停止而不显示任何内容。生成的文件位于 cgi-bin 文件夹中的临时文件夹 ($dir) 中。

我尝试使用&lt;a href&gt; HTML 标记,但它不起作用。

print "Content-Type: text/html";        
print '<a href="http://localhost/cgi-bin/$dir/test.txt" target="_top">Download your file</a>';

还有其他方法可以在 Perl 中使用&lt;a href&gt; 标签吗?

【问题讨论】:

  • 该文件是否可以通过 Apache 获得,如果您手动导航到该 URL 是否可以获取该文件?
  • @JussiV 不,实际上生成的文件是一个文本文件,所以我收到以下错误:(8)Exec format error: exec failed:
  • 该错误是因为缺少 shebang (#!) 行

标签: html perl href


【解决方案1】:

生成的文件位于 cgi-bin 文件夹中的临时文件夹 ($dir) 中

不要那样做。

cgi-bin 应该只包含 CGI 程序。

几乎可以肯定您的服务器已配置好,因此它会尝试在其中作为 CGI 程序执行任何东西

您的包含数据的文本文件不是程序,试图将其视为一个程序会导致错误。

将文件保存在外部 cgi-bin(或者根本不保存,直接从CGI程序输出到浏览器)。

【讨论】:

  • 您能告诉我如何将输出打印到浏览器吗?我试过这个: print "Content-type: text/plain\r\n" ;打印 "\r\n" ;打印标题('text/plain'),$输出;
  • print $output
猜你喜欢
  • 1970-01-01
  • 2014-08-08
  • 1970-01-01
  • 2014-07-22
  • 2014-11-25
  • 2011-03-25
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
相关资源
最近更新 更多